diff --git a/api/protos/attestation.pb.go b/api/protos/attestation.pb.go index 8a2e0d51..45ae97ac 100644 --- a/api/protos/attestation.pb.go +++ b/api/protos/attestation.pb.go @@ -12,7 +12,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: attestation.proto diff --git a/api/protos/backend_service.pb.go b/api/protos/backend_service.pb.go index 422af1c8..d94fba0c 100644 --- a/api/protos/backend_service.pb.go +++ b/api/protos/backend_service.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: backend_service.proto @@ -635,6 +635,7 @@ type WorkflowMetadata struct { ParentInstanceId string `protobuf:"bytes,11,opt,name=parentInstanceId,proto3" json:"parentInstanceId,omitempty"` Version *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=version,proto3,oneof" json:"version,omitempty"` ParentAppId *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=parentAppId,proto3,oneof" json:"parentAppId,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=startedAt,proto3,oneof" json:"startedAt,omitempty"` } func (x *WorkflowMetadata) Reset() { @@ -760,6 +761,13 @@ func (x *WorkflowMetadata) GetParentAppId() *wrapperspb.StringValue { return nil } +func (x *WorkflowMetadata) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + type BackendWorkflowStateMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1187,7 +1195,7 @@ var file_backend_service_proto_rawDesc = []byte{ 0x48, 0x00, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xef, 0x05, 0x0a, + 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xbc, 0x06, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, @@ -1233,62 +1241,67 @@ var file_backend_service_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x49, 0x64, 0x22, 0xb8, - 0x02, 0x0a, 0x1c, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x18, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x4a, 0x0a, - 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x36, 0x0a, 0x12, 0x53, 0x69, 0x67, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x22, 0xa5, 0x02, 0x0a, 0x10, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x3d, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x1a, 0x0a, - 0x18, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x5d, 0x0a, 0x0c, 0x44, 0x75, 0x72, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x74, 0x69, - 0x6d, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x56, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, 0x64, - 0x61, 0x70, 0x72, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x2e, - 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, 0x2e, 0x44, 0x75, 0x72, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x0e, 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, 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x49, 0x64, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xb8, 0x02, 0x0a, 0x1c, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, + 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x24, + 0x0a, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3a, + 0x0a, 0x18, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x18, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x20, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x36, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xa5, + 0x02, 0x0a, 0x10, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1e, 0x0a, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, + 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, + 0x52, 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0c, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x5d, 0x0a, 0x0c, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x56, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, 0x64, 0x61, 0x70, 0x72, + 0x2e, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1360,12 +1373,13 @@ var file_backend_service_proto_depIdxs = []int32{ 21, // 27: durabletask.protos.backend.v1.WorkflowMetadata.completedAt:type_name -> google.protobuf.Timestamp 18, // 28: durabletask.protos.backend.v1.WorkflowMetadata.version:type_name -> google.protobuf.StringValue 18, // 29: durabletask.protos.backend.v1.WorkflowMetadata.parentAppId:type_name -> google.protobuf.StringValue - 16, // 30: durabletask.protos.backend.v1.DurableTimer.timerEvent:type_name -> HistoryEvent - 31, // [31:31] is the sub-list for method output_type - 31, // [31:31] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 21, // 30: durabletask.protos.backend.v1.WorkflowMetadata.startedAt:type_name -> google.protobuf.Timestamp + 16, // 31: durabletask.protos.backend.v1.DurableTimer.timerEvent:type_name -> HistoryEvent + 32, // [32:32] is the sub-list for method output_type + 32, // [32:32] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name } func init() { file_backend_service_proto_init() } diff --git a/api/protos/history_events.pb.go b/api/protos/history_events.pb.go index 419cef35..67c0551e 100644 --- a/api/protos/history_events.pb.go +++ b/api/protos/history_events.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: history_events.proto @@ -781,6 +781,59 @@ func (x *ChildWorkflowInstanceFailedEvent) GetSignerCertificate() []byte { return nil } +// DetachedWorkflowInstanceCreatedEvent records that a running workflow +// created a new, detached workflow instance via CreateDetachedWorkflowAction. +// The new workflow has no parent linkage (no completion or failure flows +// back), so this event only stores a pointer to the spawned instance — the +// inputs themselves are consumed directly from the action when scheduling. +// Replay matches on instanceId, so it is the same value the action carried. +type DetachedWorkflowInstanceCreatedEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` +} + +func (x *DetachedWorkflowInstanceCreatedEvent) Reset() { + *x = DetachedWorkflowInstanceCreatedEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_history_events_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DetachedWorkflowInstanceCreatedEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetachedWorkflowInstanceCreatedEvent) ProtoMessage() {} + +func (x *DetachedWorkflowInstanceCreatedEvent) ProtoReflect() protoreflect.Message { + mi := &file_history_events_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetachedWorkflowInstanceCreatedEvent.ProtoReflect.Descriptor instead. +func (*DetachedWorkflowInstanceCreatedEvent) Descriptor() ([]byte, []int) { + return file_history_events_proto_rawDescGZIP(), []int{9} +} + +func (x *DetachedWorkflowInstanceCreatedEvent) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + // Indicates the timer was created by a createTimer call with no special origin. type TimerOriginCreateTimer struct { state protoimpl.MessageState @@ -791,7 +844,7 @@ type TimerOriginCreateTimer struct { func (x *TimerOriginCreateTimer) Reset() { *x = TimerOriginCreateTimer{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[9] + mi := &file_history_events_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -804,7 +857,7 @@ func (x *TimerOriginCreateTimer) String() string { func (*TimerOriginCreateTimer) ProtoMessage() {} func (x *TimerOriginCreateTimer) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[9] + mi := &file_history_events_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -817,7 +870,7 @@ func (x *TimerOriginCreateTimer) ProtoReflect() protoreflect.Message { // Deprecated: Use TimerOriginCreateTimer.ProtoReflect.Descriptor instead. func (*TimerOriginCreateTimer) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{9} + return file_history_events_proto_rawDescGZIP(), []int{10} } // Indicates the timer was created as a timeout for a waitForExternalEvent call. @@ -833,7 +886,7 @@ type TimerOriginExternalEvent struct { func (x *TimerOriginExternalEvent) Reset() { *x = TimerOriginExternalEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[10] + mi := &file_history_events_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -846,7 +899,7 @@ func (x *TimerOriginExternalEvent) String() string { func (*TimerOriginExternalEvent) ProtoMessage() {} func (x *TimerOriginExternalEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[10] + mi := &file_history_events_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -859,7 +912,7 @@ func (x *TimerOriginExternalEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use TimerOriginExternalEvent.ProtoReflect.Descriptor instead. func (*TimerOriginExternalEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{10} + return file_history_events_proto_rawDescGZIP(), []int{11} } func (x *TimerOriginExternalEvent) GetName() string { @@ -882,7 +935,7 @@ type TimerOriginActivityRetry struct { func (x *TimerOriginActivityRetry) Reset() { *x = TimerOriginActivityRetry{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[11] + mi := &file_history_events_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -895,7 +948,7 @@ func (x *TimerOriginActivityRetry) String() string { func (*TimerOriginActivityRetry) ProtoMessage() {} func (x *TimerOriginActivityRetry) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[11] + mi := &file_history_events_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -908,7 +961,7 @@ func (x *TimerOriginActivityRetry) ProtoReflect() protoreflect.Message { // Deprecated: Use TimerOriginActivityRetry.ProtoReflect.Descriptor instead. func (*TimerOriginActivityRetry) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{11} + return file_history_events_proto_rawDescGZIP(), []int{12} } func (x *TimerOriginActivityRetry) GetTaskExecutionId() string { @@ -931,7 +984,7 @@ type TimerOriginChildWorkflowRetry struct { func (x *TimerOriginChildWorkflowRetry) Reset() { *x = TimerOriginChildWorkflowRetry{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[12] + mi := &file_history_events_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -944,7 +997,7 @@ func (x *TimerOriginChildWorkflowRetry) String() string { func (*TimerOriginChildWorkflowRetry) ProtoMessage() {} func (x *TimerOriginChildWorkflowRetry) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[12] + mi := &file_history_events_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -957,7 +1010,7 @@ func (x *TimerOriginChildWorkflowRetry) ProtoReflect() protoreflect.Message { // Deprecated: Use TimerOriginChildWorkflowRetry.ProtoReflect.Descriptor instead. func (*TimerOriginChildWorkflowRetry) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{12} + return file_history_events_proto_rawDescGZIP(), []int{13} } func (x *TimerOriginChildWorkflowRetry) GetInstanceId() string { @@ -991,7 +1044,7 @@ type TimerCreatedEvent struct { func (x *TimerCreatedEvent) Reset() { *x = TimerCreatedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[13] + mi := &file_history_events_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1004,7 +1057,7 @@ func (x *TimerCreatedEvent) String() string { func (*TimerCreatedEvent) ProtoMessage() {} func (x *TimerCreatedEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[13] + mi := &file_history_events_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1017,7 +1070,7 @@ func (x *TimerCreatedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use TimerCreatedEvent.ProtoReflect.Descriptor instead. func (*TimerCreatedEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{13} + return file_history_events_proto_rawDescGZIP(), []int{14} } func (x *TimerCreatedEvent) GetFireAt() *timestamppb.Timestamp { @@ -1116,7 +1169,7 @@ type TimerFiredEvent struct { func (x *TimerFiredEvent) Reset() { *x = TimerFiredEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[14] + mi := &file_history_events_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1129,7 +1182,7 @@ func (x *TimerFiredEvent) String() string { func (*TimerFiredEvent) ProtoMessage() {} func (x *TimerFiredEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[14] + mi := &file_history_events_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1142,7 +1195,7 @@ func (x *TimerFiredEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use TimerFiredEvent.ProtoReflect.Descriptor instead. func (*TimerFiredEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{14} + return file_history_events_proto_rawDescGZIP(), []int{15} } func (x *TimerFiredEvent) GetFireAt() *timestamppb.Timestamp { @@ -1170,7 +1223,7 @@ type WorkflowStartedEvent struct { func (x *WorkflowStartedEvent) Reset() { *x = WorkflowStartedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[15] + mi := &file_history_events_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1183,7 +1236,7 @@ func (x *WorkflowStartedEvent) String() string { func (*WorkflowStartedEvent) ProtoMessage() {} func (x *WorkflowStartedEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[15] + mi := &file_history_events_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1196,7 +1249,7 @@ func (x *WorkflowStartedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowStartedEvent.ProtoReflect.Descriptor instead. func (*WorkflowStartedEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{15} + return file_history_events_proto_rawDescGZIP(), []int{16} } func (x *WorkflowStartedEvent) GetVersion() *WorkflowVersion { @@ -1215,7 +1268,7 @@ type WorkflowCompletedEvent struct { func (x *WorkflowCompletedEvent) Reset() { *x = WorkflowCompletedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[16] + mi := &file_history_events_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1228,7 +1281,7 @@ func (x *WorkflowCompletedEvent) String() string { func (*WorkflowCompletedEvent) ProtoMessage() {} func (x *WorkflowCompletedEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[16] + mi := &file_history_events_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1241,7 +1294,7 @@ func (x *WorkflowCompletedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowCompletedEvent.ProtoReflect.Descriptor instead. func (*WorkflowCompletedEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{16} + return file_history_events_proto_rawDescGZIP(), []int{17} } type EventSentEvent struct { @@ -1257,7 +1310,7 @@ type EventSentEvent struct { func (x *EventSentEvent) Reset() { *x = EventSentEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[17] + mi := &file_history_events_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1270,7 +1323,7 @@ func (x *EventSentEvent) String() string { func (*EventSentEvent) ProtoMessage() {} func (x *EventSentEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[17] + mi := &file_history_events_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1283,7 +1336,7 @@ func (x *EventSentEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use EventSentEvent.ProtoReflect.Descriptor instead. func (*EventSentEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{17} + return file_history_events_proto_rawDescGZIP(), []int{18} } func (x *EventSentEvent) GetInstanceId() string { @@ -1319,7 +1372,7 @@ type EventRaisedEvent struct { func (x *EventRaisedEvent) Reset() { *x = EventRaisedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[18] + mi := &file_history_events_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1332,7 +1385,7 @@ func (x *EventRaisedEvent) String() string { func (*EventRaisedEvent) ProtoMessage() {} func (x *EventRaisedEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[18] + mi := &file_history_events_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1345,7 +1398,7 @@ func (x *EventRaisedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use EventRaisedEvent.ProtoReflect.Descriptor instead. func (*EventRaisedEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{18} + return file_history_events_proto_rawDescGZIP(), []int{19} } func (x *EventRaisedEvent) GetName() string { @@ -1373,7 +1426,7 @@ type ContinueAsNewEvent struct { func (x *ContinueAsNewEvent) Reset() { *x = ContinueAsNewEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[19] + mi := &file_history_events_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1386,7 +1439,7 @@ func (x *ContinueAsNewEvent) String() string { func (*ContinueAsNewEvent) ProtoMessage() {} func (x *ContinueAsNewEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[19] + mi := &file_history_events_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1399,7 +1452,7 @@ func (x *ContinueAsNewEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ContinueAsNewEvent.ProtoReflect.Descriptor instead. func (*ContinueAsNewEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{19} + return file_history_events_proto_rawDescGZIP(), []int{20} } func (x *ContinueAsNewEvent) GetInput() *wrapperspb.StringValue { @@ -1420,7 +1473,7 @@ type ExecutionSuspendedEvent struct { func (x *ExecutionSuspendedEvent) Reset() { *x = ExecutionSuspendedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[20] + mi := &file_history_events_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1433,7 +1486,7 @@ func (x *ExecutionSuspendedEvent) String() string { func (*ExecutionSuspendedEvent) ProtoMessage() {} func (x *ExecutionSuspendedEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[20] + mi := &file_history_events_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1446,7 +1499,7 @@ func (x *ExecutionSuspendedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionSuspendedEvent.ProtoReflect.Descriptor instead. func (*ExecutionSuspendedEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{20} + return file_history_events_proto_rawDescGZIP(), []int{21} } func (x *ExecutionSuspendedEvent) GetInput() *wrapperspb.StringValue { @@ -1467,7 +1520,7 @@ type ExecutionResumedEvent struct { func (x *ExecutionResumedEvent) Reset() { *x = ExecutionResumedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[21] + mi := &file_history_events_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1480,7 +1533,7 @@ func (x *ExecutionResumedEvent) String() string { func (*ExecutionResumedEvent) ProtoMessage() {} func (x *ExecutionResumedEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[21] + mi := &file_history_events_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1493,7 +1546,7 @@ func (x *ExecutionResumedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionResumedEvent.ProtoReflect.Descriptor instead. func (*ExecutionResumedEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{21} + return file_history_events_proto_rawDescGZIP(), []int{22} } func (x *ExecutionResumedEvent) GetInput() *wrapperspb.StringValue { @@ -1515,7 +1568,7 @@ type ExecutionStalledEvent struct { func (x *ExecutionStalledEvent) Reset() { *x = ExecutionStalledEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[22] + mi := &file_history_events_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1528,7 +1581,7 @@ func (x *ExecutionStalledEvent) String() string { func (*ExecutionStalledEvent) ProtoMessage() {} func (x *ExecutionStalledEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[22] + mi := &file_history_events_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1541,7 +1594,7 @@ func (x *ExecutionStalledEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionStalledEvent.ProtoReflect.Descriptor instead. func (*ExecutionStalledEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{22} + return file_history_events_proto_rawDescGZIP(), []int{23} } func (x *ExecutionStalledEvent) GetReason() StalledReason { @@ -1586,6 +1639,7 @@ type HistoryEvent struct { // *HistoryEvent_ExecutionSuspended // *HistoryEvent_ExecutionResumed // *HistoryEvent_ExecutionStalled + // *HistoryEvent_DetachedWorkflowInstanceCreated EventType isHistoryEvent_EventType `protobuf_oneof:"eventType"` Router *TaskRouter `protobuf:"bytes,30,opt,name=router,proto3,oneof" json:"router,omitempty"` } @@ -1593,7 +1647,7 @@ type HistoryEvent struct { func (x *HistoryEvent) Reset() { *x = HistoryEvent{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[23] + mi := &file_history_events_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1606,7 +1660,7 @@ func (x *HistoryEvent) String() string { func (*HistoryEvent) ProtoMessage() {} func (x *HistoryEvent) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[23] + mi := &file_history_events_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1619,7 +1673,7 @@ func (x *HistoryEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use HistoryEvent.ProtoReflect.Descriptor instead. func (*HistoryEvent) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{23} + return file_history_events_proto_rawDescGZIP(), []int{24} } func (x *HistoryEvent) GetEventId() int32 { @@ -1776,6 +1830,13 @@ func (x *HistoryEvent) GetExecutionStalled() *ExecutionStalledEvent { return nil } +func (x *HistoryEvent) GetDetachedWorkflowInstanceCreated() *DetachedWorkflowInstanceCreatedEvent { + if x, ok := x.GetEventType().(*HistoryEvent_DetachedWorkflowInstanceCreated); ok { + return x.DetachedWorkflowInstanceCreated + } + return nil +} + func (x *HistoryEvent) GetRouter() *TaskRouter { if x != nil { return x.Router @@ -1863,6 +1924,10 @@ type HistoryEvent_ExecutionStalled struct { ExecutionStalled *ExecutionStalledEvent `protobuf:"bytes,31,opt,name=executionStalled,proto3,oneof"` } +type HistoryEvent_DetachedWorkflowInstanceCreated struct { + DetachedWorkflowInstanceCreated *DetachedWorkflowInstanceCreatedEvent `protobuf:"bytes,32,opt,name=detachedWorkflowInstanceCreated,proto3,oneof"` +} + func (*HistoryEvent_ExecutionStarted) isHistoryEvent_EventType() {} func (*HistoryEvent_ExecutionCompleted) isHistoryEvent_EventType() {} @@ -1901,6 +1966,8 @@ func (*HistoryEvent_ExecutionResumed) isHistoryEvent_EventType() {} func (*HistoryEvent_ExecutionStalled) isHistoryEvent_EventType() {} +func (*HistoryEvent_DetachedWorkflowInstanceCreated) isHistoryEvent_EventType() {} + // A self-contained range of events produced by a single app, used when // history from multiple workflows is propagated to a downstream workflow // or activity. Each chunk owns the raw event bytes its producer signed; @@ -1911,40 +1978,38 @@ type PropagatedHistoryChunk struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Raw deterministic bytes of each HistoryEvent in this chunk, in - // execution order. The producer marshals each event once and signs - // over these exact bytes; receivers digest them directly and never - // re-marshal, so chunk verification is independent of protobuf - // marshaler-version stability across producer and receiver. This - // mirrors the approach attestations use for ioDigest: signed bytes - // travel verbatim end-to-end. The chunk's length is len(rawEvents). + // Raw deterministic bytes of each HistoryEvent in this chunk, in execution + // order. The producer marshals each event once and signs over these exact + // bytes; receivers digest them directly and never re-marshal, so chunk + // verification is independent of protobuf marshaler-version stability + // across producer and receiver. This mirrors the approach attestations use + // for ioDigest: signed bytes travel verbatim end-to-end. The chunk's + // length is len(rawEvents). RawEvents [][]byte `protobuf:"bytes,1,rep,name=rawEvents,proto3" json:"rawEvents,omitempty"` AppId string `protobuf:"bytes,2,opt,name=appId,proto3" json:"appId,omitempty"` // The workflow instance ID/name that produced the events in this chunk. InstanceId string `protobuf:"bytes,3,opt,name=instanceId,proto3" json:"instanceId,omitempty"` WorkflowName string `protobuf:"bytes,4,opt,name=workflowName,proto3" json:"workflowName,omitempty"` - // Raw deterministic bytes of each HistorySignature message produced - // by the chunk's app at dispatch time, covering rawEvents in order. - // Receivers unmarshal these on demand to verify the chain. Raw bytes - // are required because HistorySignature.previousSignatureDigest - // commits to the exact persisted serialization; re-marshaling on the - // wire would break chain linkage. See backend_service.proto: - // HistorySignature. + // Raw deterministic bytes of each HistorySignature message produced by the + // chunk's app at dispatch time, covering rawEvents in order. Receivers + // unmarshal these on demand to verify the chain. Raw bytes are required + // because HistorySignature.previousSignatureDigest commits to the exact + // persisted serialization; re-marshaling on the wire would break chain + // linkage. See backend_service.proto: HistorySignature. RawSignatures [][]byte `protobuf:"bytes,5,rep,name=rawSignatures,proto3" json:"rawSignatures,omitempty"` // X.509 certificate chains of the chunk app's signing identities, // DER-concatenated leaf-first then intermediates (same encoding as // backend_service.proto: SigningCertificate.certificate). Each - // HistorySignature in rawSignatures has a certificateIndex that - // indexes into this list, scoped to the chunk's producer app. Raw - // bytes here avoid a circular import on backend_service.proto's - // SigningCertificate type. + // HistorySignature in rawSignatures has a certificateIndex that indexes + // into this list, scoped to the chunk's producer app. Raw bytes here avoid + // a circular import on backend_service.proto's SigningCertificate type. SigningCertChains [][]byte `protobuf:"bytes,6,rep,name=signingCertChains,proto3" json:"signingCertChains,omitempty"` } func (x *PropagatedHistoryChunk) Reset() { *x = PropagatedHistoryChunk{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[24] + mi := &file_history_events_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1957,7 +2022,7 @@ func (x *PropagatedHistoryChunk) String() string { func (*PropagatedHistoryChunk) ProtoMessage() {} func (x *PropagatedHistoryChunk) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[24] + mi := &file_history_events_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1970,7 +2035,7 @@ func (x *PropagatedHistoryChunk) ProtoReflect() protoreflect.Message { // Deprecated: Use PropagatedHistoryChunk.ProtoReflect.Descriptor instead. func (*PropagatedHistoryChunk) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{24} + return file_history_events_proto_rawDescGZIP(), []int{25} } func (x *PropagatedHistoryChunk) GetRawEvents() [][]byte { @@ -2022,18 +2087,18 @@ type PropagatedHistory struct { // The propagation scope that was used to produce this history. Scope HistoryPropagationScope `protobuf:"varint,1,opt,name=scope,proto3,enum=HistoryPropagationScope" json:"scope,omitempty"` - // Per-app history chunks. Each chunk owns the raw event bytes its - // producer signed (PropagatedHistoryChunk.rawEvents); receivers - // digest those bytes directly and decode them into typed - // HistoryEvents on demand. Chunks are ordered, non-overlapping, and - // together describe the full propagated event sequence. + // Per-app history chunks. Each chunk owns the raw event bytes its producer + // signed (PropagatedHistoryChunk.rawEvents); receivers digest those bytes + // directly and decode them into typed HistoryEvents on demand. Chunks are + // ordered, non-overlapping, and together describe the full propagated + // event sequence. Chunks []*PropagatedHistoryChunk `protobuf:"bytes,2,rep,name=chunks,proto3" json:"chunks,omitempty"` } func (x *PropagatedHistory) Reset() { *x = PropagatedHistory{} if protoimpl.UnsafeEnabled { - mi := &file_history_events_proto_msgTypes[25] + mi := &file_history_events_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2046,7 +2111,7 @@ func (x *PropagatedHistory) String() string { func (*PropagatedHistory) ProtoMessage() {} func (x *PropagatedHistory) ProtoReflect() protoreflect.Message { - mi := &file_history_events_proto_msgTypes[25] + mi := &file_history_events_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2059,7 +2124,7 @@ func (x *PropagatedHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use PropagatedHistory.ProtoReflect.Descriptor instead. func (*PropagatedHistory) Descriptor() ([]byte, []int) { - return file_history_events_proto_rawDescGZIP(), []int{25} + return file_history_events_proto_rawDescGZIP(), []int{26} } func (x *PropagatedHistory) GetScope() HistoryPropagationScope { @@ -2283,226 +2348,238 @@ var file_history_events_proto_rawDesc = []byte{ 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x22, 0x2e, 0x0a, - 0x18, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, - 0x18, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, - 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x1d, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, - 0x65, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x11, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x66, 0x69, - 0x72, 0x65, 0x41, 0x74, 0x18, 0x01, 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, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x17, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x17, 0x72, 0x65, 0x72, 0x75, 0x6e, - 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x65, 0x72, 0x75, 0x6e, - 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x48, 0x02, 0x52, 0x17, 0x72, 0x65, 0x72, 0x75, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x41, 0x0a, - 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, - 0x00, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x41, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x74, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x69, - 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, - 0x00, 0x52, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x65, 0x72, - 0x75, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5f, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x46, 0x69, 0x72, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, - 0x74, 0x18, 0x01, 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, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, - 0x69, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x78, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x5a, - 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x48, 0x0a, 0x12, 0x43, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x22, 0x4d, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x61, 0x74, 0x65, 0x22, 0x46, 0x0a, 0x24, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x22, 0x2e, 0x0a, 0x18, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x1d, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0xfd, 0x03, 0x0a, + 0x11, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x18, 0x01, 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, 0x06, + 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x57, 0x0a, 0x17, 0x72, 0x65, 0x72, 0x75, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x02, 0x52, 0x17, 0x72, 0x65, + 0x72, 0x75, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x12, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x08, 0x0a, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x65, 0x72, 0x75, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5f, 0x0a, 0x0f, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x46, 0x69, 0x72, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x32, 0x0a, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x18, 0x01, 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, 0x06, 0x66, 0x69, 0x72, + 0x65, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, + 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x78, 0x0a, 0x0e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x5a, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x69, 0x73, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, + 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x22, 0x48, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, + 0x4e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x4d, 0x0a, 0x17, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x4b, 0x0a, 0x15, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x76, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x0e, 0x2e, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x94, 0x0d, 0x0a, 0x0c, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x22, 0x4b, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x22, 0x76, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x53, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x0c, 0x0a, 0x0c, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x02, 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, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x44, 0x0a, - 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, - 0x00, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, - 0x4d, 0x0a, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, - 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x61, - 0x73, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x74, - 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x1c, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x44, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x12, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x54, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x1c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x68, 0x69, + 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, + 0x52, 0x1c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x6e, + 0x0a, 0x1e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x1e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x1b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x65, + 0x0a, 0x1b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x68, - 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x1b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, - 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x72, - 0x46, 0x69, 0x72, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x72, 0x46, 0x69, 0x72, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x46, 0x69, 0x72, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x47, - 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x48, 0x00, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x12, - 0x3b, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, - 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x4a, 0x0a, 0x12, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x44, - 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x48, 0x01, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0b, - 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x04, 0x08, 0x13, - 0x10, 0x14, 0x4a, 0x04, 0x08, 0x17, 0x10, 0x18, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x4a, 0x04, - 0x08, 0x19, 0x10, 0x1a, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, - 0x4a, 0x04, 0x08, 0x1c, 0x10, 0x1d, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, 0x22, 0xe4, 0x01, 0x0a, - 0x16, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x61, 0x77, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x61, 0x77, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x77, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x61, 0x77, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, - 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x22, 0x74, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, - 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x75, 0x6e, - 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x42, 0x56, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, - 0x64, 0x61, 0x70, 0x72, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x73, 0x6b, - 0x2e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x32, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x46, 0x69, 0x72, 0x65, 0x64, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x46, 0x69, 0x72, 0x65, 0x64, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x46, 0x69, + 0x72, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, + 0x2f, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x69, + 0x73, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, + 0x73, 0x4e, 0x65, 0x77, 0x12, 0x4a, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x73, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x44, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x71, 0x0a, 0x1f, + 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1f, + 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x28, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x4a, 0x04, 0x08, + 0x17, 0x10, 0x18, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x4a, 0x04, 0x08, 0x19, 0x10, 0x1a, 0x4a, + 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x1c, 0x10, + 0x1d, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, 0x22, 0xe4, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x75, + 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x61, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x61, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, + 0x77, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x0d, 0x72, 0x61, 0x77, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x69, 0x67, + 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x74, + 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, + 0x75, 0x6e, 0x6b, 0x73, 0x42, 0x56, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, 0x64, 0x61, 0x70, 0x72, 0x2e, + 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, + 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2517,96 +2594,97 @@ func file_history_events_proto_rawDescGZIP() []byte { return file_history_events_proto_rawDescData } -var file_history_events_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_history_events_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_history_events_proto_goTypes = []interface{}{ - (*ExecutionStartedEvent)(nil), // 0: ExecutionStartedEvent - (*ExecutionCompletedEvent)(nil), // 1: ExecutionCompletedEvent - (*ExecutionTerminatedEvent)(nil), // 2: ExecutionTerminatedEvent - (*TaskScheduledEvent)(nil), // 3: TaskScheduledEvent - (*TaskCompletedEvent)(nil), // 4: TaskCompletedEvent - (*TaskFailedEvent)(nil), // 5: TaskFailedEvent - (*ChildWorkflowInstanceCreatedEvent)(nil), // 6: ChildWorkflowInstanceCreatedEvent - (*ChildWorkflowInstanceCompletedEvent)(nil), // 7: ChildWorkflowInstanceCompletedEvent - (*ChildWorkflowInstanceFailedEvent)(nil), // 8: ChildWorkflowInstanceFailedEvent - (*TimerOriginCreateTimer)(nil), // 9: TimerOriginCreateTimer - (*TimerOriginExternalEvent)(nil), // 10: TimerOriginExternalEvent - (*TimerOriginActivityRetry)(nil), // 11: TimerOriginActivityRetry - (*TimerOriginChildWorkflowRetry)(nil), // 12: TimerOriginChildWorkflowRetry - (*TimerCreatedEvent)(nil), // 13: TimerCreatedEvent - (*TimerFiredEvent)(nil), // 14: TimerFiredEvent - (*WorkflowStartedEvent)(nil), // 15: WorkflowStartedEvent - (*WorkflowCompletedEvent)(nil), // 16: WorkflowCompletedEvent - (*EventSentEvent)(nil), // 17: EventSentEvent - (*EventRaisedEvent)(nil), // 18: EventRaisedEvent - (*ContinueAsNewEvent)(nil), // 19: ContinueAsNewEvent - (*ExecutionSuspendedEvent)(nil), // 20: ExecutionSuspendedEvent - (*ExecutionResumedEvent)(nil), // 21: ExecutionResumedEvent - (*ExecutionStalledEvent)(nil), // 22: ExecutionStalledEvent - (*HistoryEvent)(nil), // 23: HistoryEvent - (*PropagatedHistoryChunk)(nil), // 24: PropagatedHistoryChunk - (*PropagatedHistory)(nil), // 25: PropagatedHistory - nil, // 26: ExecutionStartedEvent.TagsEntry - (*wrapperspb.StringValue)(nil), // 27: google.protobuf.StringValue - (*WorkflowInstance)(nil), // 28: WorkflowInstance - (*ParentInstanceInfo)(nil), // 29: ParentInstanceInfo - (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp - (*TraceContext)(nil), // 31: TraceContext - (OrchestrationStatus)(0), // 32: OrchestrationStatus - (*TaskFailureDetails)(nil), // 33: TaskFailureDetails - (*RerunParentInstanceInfo)(nil), // 34: RerunParentInstanceInfo - (HistoryPropagationScope)(0), // 35: HistoryPropagationScope - (*ActivityCompletionAttestation)(nil), // 36: ActivityCompletionAttestation - (*ChildCompletionAttestation)(nil), // 37: ChildCompletionAttestation - (*WorkflowVersion)(nil), // 38: WorkflowVersion - (StalledReason)(0), // 39: StalledReason - (*TaskRouter)(nil), // 40: TaskRouter + (*ExecutionStartedEvent)(nil), // 0: ExecutionStartedEvent + (*ExecutionCompletedEvent)(nil), // 1: ExecutionCompletedEvent + (*ExecutionTerminatedEvent)(nil), // 2: ExecutionTerminatedEvent + (*TaskScheduledEvent)(nil), // 3: TaskScheduledEvent + (*TaskCompletedEvent)(nil), // 4: TaskCompletedEvent + (*TaskFailedEvent)(nil), // 5: TaskFailedEvent + (*ChildWorkflowInstanceCreatedEvent)(nil), // 6: ChildWorkflowInstanceCreatedEvent + (*ChildWorkflowInstanceCompletedEvent)(nil), // 7: ChildWorkflowInstanceCompletedEvent + (*ChildWorkflowInstanceFailedEvent)(nil), // 8: ChildWorkflowInstanceFailedEvent + (*DetachedWorkflowInstanceCreatedEvent)(nil), // 9: DetachedWorkflowInstanceCreatedEvent + (*TimerOriginCreateTimer)(nil), // 10: TimerOriginCreateTimer + (*TimerOriginExternalEvent)(nil), // 11: TimerOriginExternalEvent + (*TimerOriginActivityRetry)(nil), // 12: TimerOriginActivityRetry + (*TimerOriginChildWorkflowRetry)(nil), // 13: TimerOriginChildWorkflowRetry + (*TimerCreatedEvent)(nil), // 14: TimerCreatedEvent + (*TimerFiredEvent)(nil), // 15: TimerFiredEvent + (*WorkflowStartedEvent)(nil), // 16: WorkflowStartedEvent + (*WorkflowCompletedEvent)(nil), // 17: WorkflowCompletedEvent + (*EventSentEvent)(nil), // 18: EventSentEvent + (*EventRaisedEvent)(nil), // 19: EventRaisedEvent + (*ContinueAsNewEvent)(nil), // 20: ContinueAsNewEvent + (*ExecutionSuspendedEvent)(nil), // 21: ExecutionSuspendedEvent + (*ExecutionResumedEvent)(nil), // 22: ExecutionResumedEvent + (*ExecutionStalledEvent)(nil), // 23: ExecutionStalledEvent + (*HistoryEvent)(nil), // 24: HistoryEvent + (*PropagatedHistoryChunk)(nil), // 25: PropagatedHistoryChunk + (*PropagatedHistory)(nil), // 26: PropagatedHistory + nil, // 27: ExecutionStartedEvent.TagsEntry + (*wrapperspb.StringValue)(nil), // 28: google.protobuf.StringValue + (*WorkflowInstance)(nil), // 29: WorkflowInstance + (*ParentInstanceInfo)(nil), // 30: ParentInstanceInfo + (*timestamppb.Timestamp)(nil), // 31: google.protobuf.Timestamp + (*TraceContext)(nil), // 32: TraceContext + (OrchestrationStatus)(0), // 33: OrchestrationStatus + (*TaskFailureDetails)(nil), // 34: TaskFailureDetails + (*RerunParentInstanceInfo)(nil), // 35: RerunParentInstanceInfo + (HistoryPropagationScope)(0), // 36: HistoryPropagationScope + (*ActivityCompletionAttestation)(nil), // 37: ActivityCompletionAttestation + (*ChildCompletionAttestation)(nil), // 38: ChildCompletionAttestation + (*WorkflowVersion)(nil), // 39: WorkflowVersion + (StalledReason)(0), // 40: StalledReason + (*TaskRouter)(nil), // 41: TaskRouter } var file_history_events_proto_depIdxs = []int32{ - 27, // 0: ExecutionStartedEvent.version:type_name -> google.protobuf.StringValue - 27, // 1: ExecutionStartedEvent.input:type_name -> google.protobuf.StringValue - 28, // 2: ExecutionStartedEvent.workflowInstance:type_name -> WorkflowInstance - 29, // 3: ExecutionStartedEvent.parentInstance:type_name -> ParentInstanceInfo - 30, // 4: ExecutionStartedEvent.scheduledStartTimestamp:type_name -> google.protobuf.Timestamp - 31, // 5: ExecutionStartedEvent.parentTraceContext:type_name -> TraceContext - 27, // 6: ExecutionStartedEvent.workflowSpanID:type_name -> google.protobuf.StringValue - 26, // 7: ExecutionStartedEvent.tags:type_name -> ExecutionStartedEvent.TagsEntry - 32, // 8: ExecutionCompletedEvent.workflowStatus:type_name -> OrchestrationStatus - 27, // 9: ExecutionCompletedEvent.result:type_name -> google.protobuf.StringValue - 33, // 10: ExecutionCompletedEvent.failureDetails:type_name -> TaskFailureDetails - 27, // 11: ExecutionTerminatedEvent.input:type_name -> google.protobuf.StringValue - 27, // 12: TaskScheduledEvent.version:type_name -> google.protobuf.StringValue - 27, // 13: TaskScheduledEvent.input:type_name -> google.protobuf.StringValue - 31, // 14: TaskScheduledEvent.parentTraceContext:type_name -> TraceContext - 34, // 15: TaskScheduledEvent.rerunParentInstanceInfo:type_name -> RerunParentInstanceInfo - 35, // 16: TaskScheduledEvent.historyPropagationScope:type_name -> HistoryPropagationScope - 27, // 17: TaskCompletedEvent.result:type_name -> google.protobuf.StringValue - 36, // 18: TaskCompletedEvent.attestation:type_name -> ActivityCompletionAttestation - 33, // 19: TaskFailedEvent.failureDetails:type_name -> TaskFailureDetails - 36, // 20: TaskFailedEvent.attestation:type_name -> ActivityCompletionAttestation - 27, // 21: ChildWorkflowInstanceCreatedEvent.version:type_name -> google.protobuf.StringValue - 27, // 22: ChildWorkflowInstanceCreatedEvent.input:type_name -> google.protobuf.StringValue - 31, // 23: ChildWorkflowInstanceCreatedEvent.parentTraceContext:type_name -> TraceContext - 34, // 24: ChildWorkflowInstanceCreatedEvent.rerunParentInstanceInfo:type_name -> RerunParentInstanceInfo - 35, // 25: ChildWorkflowInstanceCreatedEvent.historyPropagationScope:type_name -> HistoryPropagationScope - 27, // 26: ChildWorkflowInstanceCompletedEvent.result:type_name -> google.protobuf.StringValue - 37, // 27: ChildWorkflowInstanceCompletedEvent.attestation:type_name -> ChildCompletionAttestation - 33, // 28: ChildWorkflowInstanceFailedEvent.failureDetails:type_name -> TaskFailureDetails - 37, // 29: ChildWorkflowInstanceFailedEvent.attestation:type_name -> ChildCompletionAttestation - 30, // 30: TimerCreatedEvent.fireAt:type_name -> google.protobuf.Timestamp - 34, // 31: TimerCreatedEvent.rerunParentInstanceInfo:type_name -> RerunParentInstanceInfo - 9, // 32: TimerCreatedEvent.createTimer:type_name -> TimerOriginCreateTimer - 10, // 33: TimerCreatedEvent.externalEvent:type_name -> TimerOriginExternalEvent - 11, // 34: TimerCreatedEvent.activityRetry:type_name -> TimerOriginActivityRetry - 12, // 35: TimerCreatedEvent.childWorkflowRetry:type_name -> TimerOriginChildWorkflowRetry - 30, // 36: TimerFiredEvent.fireAt:type_name -> google.protobuf.Timestamp - 38, // 37: WorkflowStartedEvent.version:type_name -> WorkflowVersion - 27, // 38: EventSentEvent.input:type_name -> google.protobuf.StringValue - 27, // 39: EventRaisedEvent.input:type_name -> google.protobuf.StringValue - 27, // 40: ContinueAsNewEvent.input:type_name -> google.protobuf.StringValue - 27, // 41: ExecutionSuspendedEvent.input:type_name -> google.protobuf.StringValue - 27, // 42: ExecutionResumedEvent.input:type_name -> google.protobuf.StringValue - 39, // 43: ExecutionStalledEvent.reason:type_name -> StalledReason - 30, // 44: HistoryEvent.timestamp:type_name -> google.protobuf.Timestamp + 28, // 0: ExecutionStartedEvent.version:type_name -> google.protobuf.StringValue + 28, // 1: ExecutionStartedEvent.input:type_name -> google.protobuf.StringValue + 29, // 2: ExecutionStartedEvent.workflowInstance:type_name -> WorkflowInstance + 30, // 3: ExecutionStartedEvent.parentInstance:type_name -> ParentInstanceInfo + 31, // 4: ExecutionStartedEvent.scheduledStartTimestamp:type_name -> google.protobuf.Timestamp + 32, // 5: ExecutionStartedEvent.parentTraceContext:type_name -> TraceContext + 28, // 6: ExecutionStartedEvent.workflowSpanID:type_name -> google.protobuf.StringValue + 27, // 7: ExecutionStartedEvent.tags:type_name -> ExecutionStartedEvent.TagsEntry + 33, // 8: ExecutionCompletedEvent.workflowStatus:type_name -> OrchestrationStatus + 28, // 9: ExecutionCompletedEvent.result:type_name -> google.protobuf.StringValue + 34, // 10: ExecutionCompletedEvent.failureDetails:type_name -> TaskFailureDetails + 28, // 11: ExecutionTerminatedEvent.input:type_name -> google.protobuf.StringValue + 28, // 12: TaskScheduledEvent.version:type_name -> google.protobuf.StringValue + 28, // 13: TaskScheduledEvent.input:type_name -> google.protobuf.StringValue + 32, // 14: TaskScheduledEvent.parentTraceContext:type_name -> TraceContext + 35, // 15: TaskScheduledEvent.rerunParentInstanceInfo:type_name -> RerunParentInstanceInfo + 36, // 16: TaskScheduledEvent.historyPropagationScope:type_name -> HistoryPropagationScope + 28, // 17: TaskCompletedEvent.result:type_name -> google.protobuf.StringValue + 37, // 18: TaskCompletedEvent.attestation:type_name -> ActivityCompletionAttestation + 34, // 19: TaskFailedEvent.failureDetails:type_name -> TaskFailureDetails + 37, // 20: TaskFailedEvent.attestation:type_name -> ActivityCompletionAttestation + 28, // 21: ChildWorkflowInstanceCreatedEvent.version:type_name -> google.protobuf.StringValue + 28, // 22: ChildWorkflowInstanceCreatedEvent.input:type_name -> google.protobuf.StringValue + 32, // 23: ChildWorkflowInstanceCreatedEvent.parentTraceContext:type_name -> TraceContext + 35, // 24: ChildWorkflowInstanceCreatedEvent.rerunParentInstanceInfo:type_name -> RerunParentInstanceInfo + 36, // 25: ChildWorkflowInstanceCreatedEvent.historyPropagationScope:type_name -> HistoryPropagationScope + 28, // 26: ChildWorkflowInstanceCompletedEvent.result:type_name -> google.protobuf.StringValue + 38, // 27: ChildWorkflowInstanceCompletedEvent.attestation:type_name -> ChildCompletionAttestation + 34, // 28: ChildWorkflowInstanceFailedEvent.failureDetails:type_name -> TaskFailureDetails + 38, // 29: ChildWorkflowInstanceFailedEvent.attestation:type_name -> ChildCompletionAttestation + 31, // 30: TimerCreatedEvent.fireAt:type_name -> google.protobuf.Timestamp + 35, // 31: TimerCreatedEvent.rerunParentInstanceInfo:type_name -> RerunParentInstanceInfo + 10, // 32: TimerCreatedEvent.createTimer:type_name -> TimerOriginCreateTimer + 11, // 33: TimerCreatedEvent.externalEvent:type_name -> TimerOriginExternalEvent + 12, // 34: TimerCreatedEvent.activityRetry:type_name -> TimerOriginActivityRetry + 13, // 35: TimerCreatedEvent.childWorkflowRetry:type_name -> TimerOriginChildWorkflowRetry + 31, // 36: TimerFiredEvent.fireAt:type_name -> google.protobuf.Timestamp + 39, // 37: WorkflowStartedEvent.version:type_name -> WorkflowVersion + 28, // 38: EventSentEvent.input:type_name -> google.protobuf.StringValue + 28, // 39: EventRaisedEvent.input:type_name -> google.protobuf.StringValue + 28, // 40: ContinueAsNewEvent.input:type_name -> google.protobuf.StringValue + 28, // 41: ExecutionSuspendedEvent.input:type_name -> google.protobuf.StringValue + 28, // 42: ExecutionResumedEvent.input:type_name -> google.protobuf.StringValue + 40, // 43: ExecutionStalledEvent.reason:type_name -> StalledReason + 31, // 44: HistoryEvent.timestamp:type_name -> google.protobuf.Timestamp 0, // 45: HistoryEvent.executionStarted:type_name -> ExecutionStartedEvent 1, // 46: HistoryEvent.executionCompleted:type_name -> ExecutionCompletedEvent 2, // 47: HistoryEvent.executionTerminated:type_name -> ExecutionTerminatedEvent @@ -2616,24 +2694,25 @@ var file_history_events_proto_depIdxs = []int32{ 6, // 51: HistoryEvent.childWorkflowInstanceCreated:type_name -> ChildWorkflowInstanceCreatedEvent 7, // 52: HistoryEvent.childWorkflowInstanceCompleted:type_name -> ChildWorkflowInstanceCompletedEvent 8, // 53: HistoryEvent.childWorkflowInstanceFailed:type_name -> ChildWorkflowInstanceFailedEvent - 13, // 54: HistoryEvent.timerCreated:type_name -> TimerCreatedEvent - 14, // 55: HistoryEvent.timerFired:type_name -> TimerFiredEvent - 15, // 56: HistoryEvent.workflowStarted:type_name -> WorkflowStartedEvent - 16, // 57: HistoryEvent.workflowCompleted:type_name -> WorkflowCompletedEvent - 17, // 58: HistoryEvent.eventSent:type_name -> EventSentEvent - 18, // 59: HistoryEvent.eventRaised:type_name -> EventRaisedEvent - 19, // 60: HistoryEvent.continueAsNew:type_name -> ContinueAsNewEvent - 20, // 61: HistoryEvent.executionSuspended:type_name -> ExecutionSuspendedEvent - 21, // 62: HistoryEvent.executionResumed:type_name -> ExecutionResumedEvent - 22, // 63: HistoryEvent.executionStalled:type_name -> ExecutionStalledEvent - 40, // 64: HistoryEvent.router:type_name -> TaskRouter - 35, // 65: PropagatedHistory.scope:type_name -> HistoryPropagationScope - 24, // 66: PropagatedHistory.chunks:type_name -> PropagatedHistoryChunk - 67, // [67:67] is the sub-list for method output_type - 67, // [67:67] is the sub-list for method input_type - 67, // [67:67] is the sub-list for extension type_name - 67, // [67:67] is the sub-list for extension extendee - 0, // [0:67] is the sub-list for field type_name + 14, // 54: HistoryEvent.timerCreated:type_name -> TimerCreatedEvent + 15, // 55: HistoryEvent.timerFired:type_name -> TimerFiredEvent + 16, // 56: HistoryEvent.workflowStarted:type_name -> WorkflowStartedEvent + 17, // 57: HistoryEvent.workflowCompleted:type_name -> WorkflowCompletedEvent + 18, // 58: HistoryEvent.eventSent:type_name -> EventSentEvent + 19, // 59: HistoryEvent.eventRaised:type_name -> EventRaisedEvent + 20, // 60: HistoryEvent.continueAsNew:type_name -> ContinueAsNewEvent + 21, // 61: HistoryEvent.executionSuspended:type_name -> ExecutionSuspendedEvent + 22, // 62: HistoryEvent.executionResumed:type_name -> ExecutionResumedEvent + 23, // 63: HistoryEvent.executionStalled:type_name -> ExecutionStalledEvent + 9, // 64: HistoryEvent.detachedWorkflowInstanceCreated:type_name -> DetachedWorkflowInstanceCreatedEvent + 41, // 65: HistoryEvent.router:type_name -> TaskRouter + 36, // 66: PropagatedHistory.scope:type_name -> HistoryPropagationScope + 25, // 67: PropagatedHistory.chunks:type_name -> PropagatedHistoryChunk + 68, // [68:68] is the sub-list for method output_type + 68, // [68:68] is the sub-list for method input_type + 68, // [68:68] is the sub-list for extension type_name + 68, // [68:68] is the sub-list for extension extendee + 0, // [0:68] is the sub-list for field type_name } func init() { file_history_events_proto_init() } @@ -2753,7 +2832,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimerOriginCreateTimer); i { + switch v := v.(*DetachedWorkflowInstanceCreatedEvent); i { case 0: return &v.state case 1: @@ -2765,7 +2844,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimerOriginExternalEvent); i { + switch v := v.(*TimerOriginCreateTimer); i { case 0: return &v.state case 1: @@ -2777,7 +2856,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimerOriginActivityRetry); i { + switch v := v.(*TimerOriginExternalEvent); i { case 0: return &v.state case 1: @@ -2789,7 +2868,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimerOriginChildWorkflowRetry); i { + switch v := v.(*TimerOriginActivityRetry); i { case 0: return &v.state case 1: @@ -2801,7 +2880,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimerCreatedEvent); i { + switch v := v.(*TimerOriginChildWorkflowRetry); i { case 0: return &v.state case 1: @@ -2813,7 +2892,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimerFiredEvent); i { + switch v := v.(*TimerCreatedEvent); i { case 0: return &v.state case 1: @@ -2825,7 +2904,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkflowStartedEvent); i { + switch v := v.(*TimerFiredEvent); i { case 0: return &v.state case 1: @@ -2837,7 +2916,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkflowCompletedEvent); i { + switch v := v.(*WorkflowStartedEvent); i { case 0: return &v.state case 1: @@ -2849,7 +2928,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventSentEvent); i { + switch v := v.(*WorkflowCompletedEvent); i { case 0: return &v.state case 1: @@ -2861,7 +2940,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventRaisedEvent); i { + switch v := v.(*EventSentEvent); i { case 0: return &v.state case 1: @@ -2873,7 +2952,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContinueAsNewEvent); i { + switch v := v.(*EventRaisedEvent); i { case 0: return &v.state case 1: @@ -2885,7 +2964,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionSuspendedEvent); i { + switch v := v.(*ContinueAsNewEvent); i { case 0: return &v.state case 1: @@ -2897,7 +2976,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionResumedEvent); i { + switch v := v.(*ExecutionSuspendedEvent); i { case 0: return &v.state case 1: @@ -2909,7 +2988,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionStalledEvent); i { + switch v := v.(*ExecutionResumedEvent); i { case 0: return &v.state case 1: @@ -2921,7 +3000,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HistoryEvent); i { + switch v := v.(*ExecutionStalledEvent); i { case 0: return &v.state case 1: @@ -2933,7 +3012,7 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PropagatedHistoryChunk); i { + switch v := v.(*HistoryEvent); i { case 0: return &v.state case 1: @@ -2945,6 +3024,18 @@ func file_history_events_proto_init() { } } file_history_events_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PropagatedHistoryChunk); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_history_events_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PropagatedHistory); i { case 0: return &v.state @@ -2963,15 +3054,15 @@ func file_history_events_proto_init() { file_history_events_proto_msgTypes[6].OneofWrappers = []interface{}{} file_history_events_proto_msgTypes[7].OneofWrappers = []interface{}{} file_history_events_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_history_events_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_history_events_proto_msgTypes[14].OneofWrappers = []interface{}{ (*TimerCreatedEvent_CreateTimer)(nil), (*TimerCreatedEvent_ExternalEvent)(nil), (*TimerCreatedEvent_ActivityRetry)(nil), (*TimerCreatedEvent_ChildWorkflowRetry)(nil), } - file_history_events_proto_msgTypes[15].OneofWrappers = []interface{}{} - file_history_events_proto_msgTypes[22].OneofWrappers = []interface{}{} - file_history_events_proto_msgTypes[23].OneofWrappers = []interface{}{ + file_history_events_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_history_events_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_history_events_proto_msgTypes[24].OneofWrappers = []interface{}{ (*HistoryEvent_ExecutionStarted)(nil), (*HistoryEvent_ExecutionCompleted)(nil), (*HistoryEvent_ExecutionTerminated)(nil), @@ -2991,6 +3082,7 @@ func file_history_events_proto_init() { (*HistoryEvent_ExecutionSuspended)(nil), (*HistoryEvent_ExecutionResumed)(nil), (*HistoryEvent_ExecutionStalled)(nil), + (*HistoryEvent_DetachedWorkflowInstanceCreated)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -2998,7 +3090,7 @@ func file_history_events_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_history_events_proto_rawDesc, NumEnums: 0, - NumMessages: 27, + NumMessages: 28, NumExtensions: 0, NumServices: 0, }, diff --git a/api/protos/orchestration.pb.go b/api/protos/orchestration.pb.go index 6d966947..87a35b6d 100644 --- a/api/protos/orchestration.pb.go +++ b/api/protos/orchestration.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: orchestration.proto @@ -676,6 +676,8 @@ type WorkflowState struct { CompletedTimestamp *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=completedTimestamp,proto3" json:"completedTimestamp,omitempty"` ParentInstanceId *wrapperspb.StringValue `protobuf:"bytes,14,opt,name=parentInstanceId,proto3" json:"parentInstanceId,omitempty"` Tags map[string]string `protobuf:"bytes,15,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ParentAppId *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=parentAppId,proto3" json:"parentAppId,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=startedAt,proto3,oneof" json:"startedAt,omitempty"` } func (x *WorkflowState) Reset() { @@ -815,6 +817,20 @@ func (x *WorkflowState) GetTags() map[string]string { return nil } +func (x *WorkflowState) GetParentAppId() *wrapperspb.StringValue { + if x != nil { + return x.ParentAppId + } + return nil +} + +func (x *WorkflowState) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + var File_orchestration_proto protoreflect.FileDescriptor var file_orchestration_proto_rawDesc = []byte{ @@ -895,7 +911,7 @@ var file_orchestration_proto_rawDesc = []byte{ 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xcd, 0x07, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xda, 0x08, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, @@ -952,53 +968,62 @@ var file_orchestration_proto_rawDesc = []byte{ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x61, - 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, - 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x59, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x54, 0x43, 0x48, - 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x56, - 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, - 0x02, 0x2a, 0xd7, 0x02, 0x0a, 0x13, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x43, - 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4f, - 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, - 0x29, 0x0a, 0x25, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, - 0x44, 0x5f, 0x41, 0x53, 0x5f, 0x4e, 0x45, 0x57, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x52, - 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x4f, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3e, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x3d, 0x0a, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x11, 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, 0x48, 0x00, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x37, 0x0a, 0x09, + 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x2a, 0x59, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4d, 0x49, + 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, + 0x49, 0x5a, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xd7, + 0x02, 0x0a, 0x13, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, + 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x43, 0x48, + 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, + 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x44, 0x5f, 0x41, + 0x53, 0x5f, 0x4e, 0x45, 0x57, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x52, 0x43, 0x48, 0x45, + 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x52, 0x43, 0x48, + 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x23, - 0x0a, 0x1f, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, - 0x44, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, - 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, - 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x43, - 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x2a, 0x8f, 0x01, 0x0a, 0x17, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x48, 0x49, 0x53, 0x54, 0x4f, - 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x48, - 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x5f, 0x48, 0x49, 0x53, - 0x54, 0x4f, 0x52, 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, - 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, - 0x4f, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x47, 0x45, 0x10, 0x02, 0x42, 0x56, 0x0a, - 0x2b, 0x69, 0x6f, 0x2e, 0x64, 0x61, 0x70, 0x72, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x54, 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, + 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x2a, 0x8f, 0x01, 0x0a, 0x17, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, + 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, + 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x48, 0x49, 0x53, 0x54, + 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x5f, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, + 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, + 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, + 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x47, 0x45, 0x10, 0x02, 0x42, 0x56, 0x0a, 0x2b, 0x69, 0x6f, + 0x2e, 0x64, 0x61, 0x70, 0x72, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x73, + 0x6b, 0x2e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, 0x2e, 0x44, 0x75, + 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1052,11 +1077,13 @@ var file_orchestration_proto_depIdxs = []int32{ 13, // 17: WorkflowState.completedTimestamp:type_name -> google.protobuf.Timestamp 12, // 18: WorkflowState.parentInstanceId:type_name -> google.protobuf.StringValue 11, // 19: WorkflowState.tags:type_name -> WorkflowState.TagsEntry - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 12, // 20: WorkflowState.parentAppId:type_name -> google.protobuf.StringValue + 13, // 21: WorkflowState.startedAt:type_name -> google.protobuf.Timestamp + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_orchestration_proto_init() } @@ -1165,6 +1192,7 @@ func file_orchestration_proto_init() { file_orchestration_proto_msgTypes[0].OneofWrappers = []interface{}{} file_orchestration_proto_msgTypes[1].OneofWrappers = []interface{}{} file_orchestration_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_orchestration_proto_msgTypes[7].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/api/protos/orchestrator_actions.pb.go b/api/protos/orchestrator_actions.pb.go index 6d084b23..12362a72 100644 --- a/api/protos/orchestrator_actions.pb.go +++ b/api/protos/orchestrator_actions.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: orchestrator_actions.proto @@ -201,6 +201,133 @@ func (x *CreateChildWorkflowAction) GetHistoryPropagationScope() HistoryPropagat return HistoryPropagationScope_HISTORY_PROPAGATION_SCOPE_NONE } +// CreateDetachedWorkflowAction creates a new, detached workflow instance from +// a running workflow. Mirrors the fields of CreateInstanceRequest (the client +// scheduling API) so the runtime has all the information needed to schedule +// the new instance directly from this action. The spawned workflow is fully +// decoupled from the caller: no parent pointer is recorded on the new +// workflow, no completion is awaited, and no failure propagation flows back. +// The creation is recorded once in the caller's history as a +// DetachedWorkflowInstanceCreatedEvent referencing the new instance ID. +type CreateDetachedWorkflowAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // instanceId is the ID assigned to the new workflow. It is mandatory: + // implementors must set a stable, deterministic ID so that on replay the + // call resolves to the same DetachedWorkflowInstanceCreatedEvent in + // history. + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` + // name of the workflow to schedule. Mandatory. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The remaining fields mirror the optional inputs of + // CreateInstanceRequest. Wrapper types (StringValue) carry presence via + // the wrapper; bare message fields are explicitly marked optional. + Version *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Input *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + ScheduledStartTimestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=scheduledStartTimestamp,proto3,oneof" json:"scheduledStartTimestamp,omitempty"` + ExecutionId *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=executionId,proto3" json:"executionId,omitempty"` + Tags map[string]string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ParentTraceContext *TraceContext `protobuf:"bytes,8,opt,name=parentTraceContext,proto3,oneof" json:"parentTraceContext,omitempty"` + Router *TaskRouter `protobuf:"bytes,9,opt,name=router,proto3,oneof" json:"router,omitempty"` +} + +func (x *CreateDetachedWorkflowAction) Reset() { + *x = CreateDetachedWorkflowAction{} + if protoimpl.UnsafeEnabled { + mi := &file_orchestrator_actions_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDetachedWorkflowAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDetachedWorkflowAction) ProtoMessage() {} + +func (x *CreateDetachedWorkflowAction) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_actions_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDetachedWorkflowAction.ProtoReflect.Descriptor instead. +func (*CreateDetachedWorkflowAction) Descriptor() ([]byte, []int) { + return file_orchestrator_actions_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateDetachedWorkflowAction) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *CreateDetachedWorkflowAction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateDetachedWorkflowAction) GetVersion() *wrapperspb.StringValue { + if x != nil { + return x.Version + } + return nil +} + +func (x *CreateDetachedWorkflowAction) GetInput() *wrapperspb.StringValue { + if x != nil { + return x.Input + } + return nil +} + +func (x *CreateDetachedWorkflowAction) GetScheduledStartTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledStartTimestamp + } + return nil +} + +func (x *CreateDetachedWorkflowAction) GetExecutionId() *wrapperspb.StringValue { + if x != nil { + return x.ExecutionId + } + return nil +} + +func (x *CreateDetachedWorkflowAction) GetTags() map[string]string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CreateDetachedWorkflowAction) GetParentTraceContext() *TraceContext { + if x != nil { + return x.ParentTraceContext + } + return nil +} + +func (x *CreateDetachedWorkflowAction) GetRouter() *TaskRouter { + if x != nil { + return x.Router + } + return nil +} + type CreateTimerAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -222,7 +349,7 @@ type CreateTimerAction struct { func (x *CreateTimerAction) Reset() { *x = CreateTimerAction{} if protoimpl.UnsafeEnabled { - mi := &file_orchestrator_actions_proto_msgTypes[2] + mi := &file_orchestrator_actions_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -235,7 +362,7 @@ func (x *CreateTimerAction) String() string { func (*CreateTimerAction) ProtoMessage() {} func (x *CreateTimerAction) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_actions_proto_msgTypes[2] + mi := &file_orchestrator_actions_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -248,7 +375,7 @@ func (x *CreateTimerAction) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTimerAction.ProtoReflect.Descriptor instead. func (*CreateTimerAction) Descriptor() ([]byte, []int) { - return file_orchestrator_actions_proto_rawDescGZIP(), []int{2} + return file_orchestrator_actions_proto_rawDescGZIP(), []int{3} } func (x *CreateTimerAction) GetFireAt() *timestamppb.Timestamp { @@ -341,7 +468,7 @@ type SendEventAction struct { func (x *SendEventAction) Reset() { *x = SendEventAction{} if protoimpl.UnsafeEnabled { - mi := &file_orchestrator_actions_proto_msgTypes[3] + mi := &file_orchestrator_actions_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -354,7 +481,7 @@ func (x *SendEventAction) String() string { func (*SendEventAction) ProtoMessage() {} func (x *SendEventAction) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_actions_proto_msgTypes[3] + mi := &file_orchestrator_actions_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -367,7 +494,7 @@ func (x *SendEventAction) ProtoReflect() protoreflect.Message { // Deprecated: Use SendEventAction.ProtoReflect.Descriptor instead. func (*SendEventAction) Descriptor() ([]byte, []int) { - return file_orchestrator_actions_proto_rawDescGZIP(), []int{3} + return file_orchestrator_actions_proto_rawDescGZIP(), []int{4} } func (x *SendEventAction) GetInstance() *WorkflowInstance { @@ -407,7 +534,7 @@ type CompleteWorkflowAction struct { func (x *CompleteWorkflowAction) Reset() { *x = CompleteWorkflowAction{} if protoimpl.UnsafeEnabled { - mi := &file_orchestrator_actions_proto_msgTypes[4] + mi := &file_orchestrator_actions_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -420,7 +547,7 @@ func (x *CompleteWorkflowAction) String() string { func (*CompleteWorkflowAction) ProtoMessage() {} func (x *CompleteWorkflowAction) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_actions_proto_msgTypes[4] + mi := &file_orchestrator_actions_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -433,7 +560,7 @@ func (x *CompleteWorkflowAction) ProtoReflect() protoreflect.Message { // Deprecated: Use CompleteWorkflowAction.ProtoReflect.Descriptor instead. func (*CompleteWorkflowAction) Descriptor() ([]byte, []int) { - return file_orchestrator_actions_proto_rawDescGZIP(), []int{4} + return file_orchestrator_actions_proto_rawDescGZIP(), []int{5} } func (x *CompleteWorkflowAction) GetWorkflowStatus() OrchestrationStatus { @@ -491,7 +618,7 @@ type TerminateWorkflowAction struct { func (x *TerminateWorkflowAction) Reset() { *x = TerminateWorkflowAction{} if protoimpl.UnsafeEnabled { - mi := &file_orchestrator_actions_proto_msgTypes[5] + mi := &file_orchestrator_actions_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -504,7 +631,7 @@ func (x *TerminateWorkflowAction) String() string { func (*TerminateWorkflowAction) ProtoMessage() {} func (x *TerminateWorkflowAction) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_actions_proto_msgTypes[5] + mi := &file_orchestrator_actions_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -517,7 +644,7 @@ func (x *TerminateWorkflowAction) ProtoReflect() protoreflect.Message { // Deprecated: Use TerminateWorkflowAction.ProtoReflect.Descriptor instead. func (*TerminateWorkflowAction) Descriptor() ([]byte, []int) { - return file_orchestrator_actions_proto_rawDescGZIP(), []int{5} + return file_orchestrator_actions_proto_rawDescGZIP(), []int{6} } func (x *TerminateWorkflowAction) GetInstanceId() string { @@ -550,7 +677,7 @@ type WorkflowVersionNotAvailableAction struct { func (x *WorkflowVersionNotAvailableAction) Reset() { *x = WorkflowVersionNotAvailableAction{} if protoimpl.UnsafeEnabled { - mi := &file_orchestrator_actions_proto_msgTypes[6] + mi := &file_orchestrator_actions_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -563,7 +690,7 @@ func (x *WorkflowVersionNotAvailableAction) String() string { func (*WorkflowVersionNotAvailableAction) ProtoMessage() {} func (x *WorkflowVersionNotAvailableAction) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_actions_proto_msgTypes[6] + mi := &file_orchestrator_actions_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -576,7 +703,7 @@ func (x *WorkflowVersionNotAvailableAction) ProtoReflect() protoreflect.Message // Deprecated: Use WorkflowVersionNotAvailableAction.ProtoReflect.Descriptor instead. func (*WorkflowVersionNotAvailableAction) Descriptor() ([]byte, []int) { - return file_orchestrator_actions_proto_rawDescGZIP(), []int{6} + return file_orchestrator_actions_proto_rawDescGZIP(), []int{7} } type WorkflowAction struct { @@ -594,6 +721,7 @@ type WorkflowAction struct { // *WorkflowAction_CompleteWorkflow // *WorkflowAction_TerminateWorkflow // *WorkflowAction_WorkflowVersionNotAvailable + // *WorkflowAction_CreateDetachedWorkflow WorkflowActionType isWorkflowAction_WorkflowActionType `protobuf_oneof:"workflowActionType"` Router *TaskRouter `protobuf:"bytes,9,opt,name=router,proto3,oneof" json:"router,omitempty"` } @@ -601,7 +729,7 @@ type WorkflowAction struct { func (x *WorkflowAction) Reset() { *x = WorkflowAction{} if protoimpl.UnsafeEnabled { - mi := &file_orchestrator_actions_proto_msgTypes[7] + mi := &file_orchestrator_actions_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -614,7 +742,7 @@ func (x *WorkflowAction) String() string { func (*WorkflowAction) ProtoMessage() {} func (x *WorkflowAction) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_actions_proto_msgTypes[7] + mi := &file_orchestrator_actions_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -627,7 +755,7 @@ func (x *WorkflowAction) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowAction.ProtoReflect.Descriptor instead. func (*WorkflowAction) Descriptor() ([]byte, []int) { - return file_orchestrator_actions_proto_rawDescGZIP(), []int{7} + return file_orchestrator_actions_proto_rawDescGZIP(), []int{8} } func (x *WorkflowAction) GetId() int32 { @@ -693,6 +821,13 @@ func (x *WorkflowAction) GetWorkflowVersionNotAvailable() *WorkflowVersionNotAva return nil } +func (x *WorkflowAction) GetCreateDetachedWorkflow() *CreateDetachedWorkflowAction { + if x, ok := x.GetWorkflowActionType().(*WorkflowAction_CreateDetachedWorkflow); ok { + return x.CreateDetachedWorkflow + } + return nil +} + func (x *WorkflowAction) GetRouter() *TaskRouter { if x != nil { return x.Router @@ -732,6 +867,10 @@ type WorkflowAction_WorkflowVersionNotAvailable struct { WorkflowVersionNotAvailable *WorkflowVersionNotAvailableAction `protobuf:"bytes,10,opt,name=workflowVersionNotAvailable,proto3,oneof"` } +type WorkflowAction_CreateDetachedWorkflow struct { + CreateDetachedWorkflow *CreateDetachedWorkflowAction `protobuf:"bytes,11,opt,name=createDetachedWorkflow,proto3,oneof"` +} + func (*WorkflowAction_ScheduleTask) isWorkflowAction_WorkflowActionType() {} func (*WorkflowAction_CreateChildWorkflow) isWorkflowAction_WorkflowActionType() {} @@ -746,6 +885,8 @@ func (*WorkflowAction_TerminateWorkflow) isWorkflowAction_WorkflowActionType() { func (*WorkflowAction_WorkflowVersionNotAvailable) isWorkflowAction_WorkflowActionType() {} +func (*WorkflowAction_CreateDetachedWorkflow) isWorkflowAction_WorkflowActionType() {} + var File_orchestrator_actions_proto protoreflect.FileDescriptor var file_orchestrator_actions_proto_rawDesc = []byte{ @@ -802,119 +943,165 @@ var file_orchestrator_actions_proto_rawDesc = []byte{ 0x79, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x61, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x88, 0x03, 0x0a, 0x11, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x18, 0x01, 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, 0x06, 0x66, - 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, - 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, - 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, - 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x12, 0x50, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6c, 0x64, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, - 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, - 0x74, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xf8, 0x02, 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, - 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x61, 0x72, 0x72, 0x79, 0x6f, 0x76, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x63, 0x61, - 0x72, 0x72, 0x79, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, - 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x54, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xfb, 0x04, 0x0a, 0x1c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x17, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 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, 0x48, 0x00, 0x52, 0x17, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, + 0x01, 0x52, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x22, 0x88, 0x03, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x32, 0x0a, 0x06, 0x66, 0x69, 0x72, 0x65, 0x41, 0x74, 0x18, 0x01, 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, 0x06, 0x66, 0x69, 0x72, + 0x65, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0d, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, + 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, + 0x50, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x12, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf8, 0x02, + 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x04, 0x0a, 0x0e, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, - 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4e, 0x0a, 0x13, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, - 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x72, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x48, 0x0a, 0x11, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x11, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x66, 0x0a, 0x1b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x61, 0x72, 0x72, 0x79, 0x6f, 0x76, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x63, 0x61, 0x72, 0x72, + 0x79, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x66, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x54, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, + 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x63, + 0x75, 0x72, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x1b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x06, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x42, 0x56, 0x0a, - 0x2b, 0x69, 0x6f, 0x2e, 0x64, 0x61, 0x70, 0x72, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x05, 0x0a, 0x0e, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0c, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4e, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x69, + 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, + 0x30, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x48, 0x0a, 0x11, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x11, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x12, 0x66, 0x0a, 0x1b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1b, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x48, 0x01, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, + 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4a, 0x04, + 0x08, 0x08, 0x10, 0x09, 0x42, 0x56, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, 0x64, 0x61, 0x70, 0x72, 0x2e, + 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x5a, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, + 0xaa, 0x02, 0x19, 0x44, 0x61, 0x70, 0x72, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -929,65 +1116,76 @@ func file_orchestrator_actions_proto_rawDescGZIP() []byte { return file_orchestrator_actions_proto_rawDescData } -var file_orchestrator_actions_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_orchestrator_actions_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_orchestrator_actions_proto_goTypes = []interface{}{ (*ScheduleTaskAction)(nil), // 0: ScheduleTaskAction (*CreateChildWorkflowAction)(nil), // 1: CreateChildWorkflowAction - (*CreateTimerAction)(nil), // 2: CreateTimerAction - (*SendEventAction)(nil), // 3: SendEventAction - (*CompleteWorkflowAction)(nil), // 4: CompleteWorkflowAction - (*TerminateWorkflowAction)(nil), // 5: TerminateWorkflowAction - (*WorkflowVersionNotAvailableAction)(nil), // 6: WorkflowVersionNotAvailableAction - (*WorkflowAction)(nil), // 7: WorkflowAction - (*wrapperspb.StringValue)(nil), // 8: google.protobuf.StringValue - (*TaskRouter)(nil), // 9: TaskRouter - (HistoryPropagationScope)(0), // 10: HistoryPropagationScope - (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp - (*TimerOriginCreateTimer)(nil), // 12: TimerOriginCreateTimer - (*TimerOriginExternalEvent)(nil), // 13: TimerOriginExternalEvent - (*TimerOriginActivityRetry)(nil), // 14: TimerOriginActivityRetry - (*TimerOriginChildWorkflowRetry)(nil), // 15: TimerOriginChildWorkflowRetry - (*WorkflowInstance)(nil), // 16: WorkflowInstance - (OrchestrationStatus)(0), // 17: OrchestrationStatus - (*HistoryEvent)(nil), // 18: HistoryEvent - (*TaskFailureDetails)(nil), // 19: TaskFailureDetails + (*CreateDetachedWorkflowAction)(nil), // 2: CreateDetachedWorkflowAction + (*CreateTimerAction)(nil), // 3: CreateTimerAction + (*SendEventAction)(nil), // 4: SendEventAction + (*CompleteWorkflowAction)(nil), // 5: CompleteWorkflowAction + (*TerminateWorkflowAction)(nil), // 6: TerminateWorkflowAction + (*WorkflowVersionNotAvailableAction)(nil), // 7: WorkflowVersionNotAvailableAction + (*WorkflowAction)(nil), // 8: WorkflowAction + nil, // 9: CreateDetachedWorkflowAction.TagsEntry + (*wrapperspb.StringValue)(nil), // 10: google.protobuf.StringValue + (*TaskRouter)(nil), // 11: TaskRouter + (HistoryPropagationScope)(0), // 12: HistoryPropagationScope + (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp + (*TraceContext)(nil), // 14: TraceContext + (*TimerOriginCreateTimer)(nil), // 15: TimerOriginCreateTimer + (*TimerOriginExternalEvent)(nil), // 16: TimerOriginExternalEvent + (*TimerOriginActivityRetry)(nil), // 17: TimerOriginActivityRetry + (*TimerOriginChildWorkflowRetry)(nil), // 18: TimerOriginChildWorkflowRetry + (*WorkflowInstance)(nil), // 19: WorkflowInstance + (OrchestrationStatus)(0), // 20: OrchestrationStatus + (*HistoryEvent)(nil), // 21: HistoryEvent + (*TaskFailureDetails)(nil), // 22: TaskFailureDetails } var file_orchestrator_actions_proto_depIdxs = []int32{ - 8, // 0: ScheduleTaskAction.version:type_name -> google.protobuf.StringValue - 8, // 1: ScheduleTaskAction.input:type_name -> google.protobuf.StringValue - 9, // 2: ScheduleTaskAction.router:type_name -> TaskRouter - 10, // 3: ScheduleTaskAction.historyPropagationScope:type_name -> HistoryPropagationScope - 8, // 4: CreateChildWorkflowAction.version:type_name -> google.protobuf.StringValue - 8, // 5: CreateChildWorkflowAction.input:type_name -> google.protobuf.StringValue - 9, // 6: CreateChildWorkflowAction.router:type_name -> TaskRouter - 10, // 7: CreateChildWorkflowAction.historyPropagationScope:type_name -> HistoryPropagationScope - 11, // 8: CreateTimerAction.fireAt:type_name -> google.protobuf.Timestamp - 12, // 9: CreateTimerAction.createTimer:type_name -> TimerOriginCreateTimer - 13, // 10: CreateTimerAction.externalEvent:type_name -> TimerOriginExternalEvent - 14, // 11: CreateTimerAction.activityRetry:type_name -> TimerOriginActivityRetry - 15, // 12: CreateTimerAction.childWorkflowRetry:type_name -> TimerOriginChildWorkflowRetry - 16, // 13: SendEventAction.instance:type_name -> WorkflowInstance - 8, // 14: SendEventAction.data:type_name -> google.protobuf.StringValue - 17, // 15: CompleteWorkflowAction.workflowStatus:type_name -> OrchestrationStatus - 8, // 16: CompleteWorkflowAction.result:type_name -> google.protobuf.StringValue - 8, // 17: CompleteWorkflowAction.details:type_name -> google.protobuf.StringValue - 8, // 18: CompleteWorkflowAction.newVersion:type_name -> google.protobuf.StringValue - 18, // 19: CompleteWorkflowAction.carryoverEvents:type_name -> HistoryEvent - 19, // 20: CompleteWorkflowAction.failureDetails:type_name -> TaskFailureDetails - 8, // 21: TerminateWorkflowAction.reason:type_name -> google.protobuf.StringValue - 0, // 22: WorkflowAction.scheduleTask:type_name -> ScheduleTaskAction - 1, // 23: WorkflowAction.createChildWorkflow:type_name -> CreateChildWorkflowAction - 2, // 24: WorkflowAction.createTimer:type_name -> CreateTimerAction - 3, // 25: WorkflowAction.sendEvent:type_name -> SendEventAction - 4, // 26: WorkflowAction.completeWorkflow:type_name -> CompleteWorkflowAction - 5, // 27: WorkflowAction.terminateWorkflow:type_name -> TerminateWorkflowAction - 6, // 28: WorkflowAction.workflowVersionNotAvailable:type_name -> WorkflowVersionNotAvailableAction - 9, // 29: WorkflowAction.router:type_name -> TaskRouter - 30, // [30:30] is the sub-list for method output_type - 30, // [30:30] is the sub-list for method input_type - 30, // [30:30] is the sub-list for extension type_name - 30, // [30:30] is the sub-list for extension extendee - 0, // [0:30] is the sub-list for field type_name + 10, // 0: ScheduleTaskAction.version:type_name -> google.protobuf.StringValue + 10, // 1: ScheduleTaskAction.input:type_name -> google.protobuf.StringValue + 11, // 2: ScheduleTaskAction.router:type_name -> TaskRouter + 12, // 3: ScheduleTaskAction.historyPropagationScope:type_name -> HistoryPropagationScope + 10, // 4: CreateChildWorkflowAction.version:type_name -> google.protobuf.StringValue + 10, // 5: CreateChildWorkflowAction.input:type_name -> google.protobuf.StringValue + 11, // 6: CreateChildWorkflowAction.router:type_name -> TaskRouter + 12, // 7: CreateChildWorkflowAction.historyPropagationScope:type_name -> HistoryPropagationScope + 10, // 8: CreateDetachedWorkflowAction.version:type_name -> google.protobuf.StringValue + 10, // 9: CreateDetachedWorkflowAction.input:type_name -> google.protobuf.StringValue + 13, // 10: CreateDetachedWorkflowAction.scheduledStartTimestamp:type_name -> google.protobuf.Timestamp + 10, // 11: CreateDetachedWorkflowAction.executionId:type_name -> google.protobuf.StringValue + 9, // 12: CreateDetachedWorkflowAction.tags:type_name -> CreateDetachedWorkflowAction.TagsEntry + 14, // 13: CreateDetachedWorkflowAction.parentTraceContext:type_name -> TraceContext + 11, // 14: CreateDetachedWorkflowAction.router:type_name -> TaskRouter + 13, // 15: CreateTimerAction.fireAt:type_name -> google.protobuf.Timestamp + 15, // 16: CreateTimerAction.createTimer:type_name -> TimerOriginCreateTimer + 16, // 17: CreateTimerAction.externalEvent:type_name -> TimerOriginExternalEvent + 17, // 18: CreateTimerAction.activityRetry:type_name -> TimerOriginActivityRetry + 18, // 19: CreateTimerAction.childWorkflowRetry:type_name -> TimerOriginChildWorkflowRetry + 19, // 20: SendEventAction.instance:type_name -> WorkflowInstance + 10, // 21: SendEventAction.data:type_name -> google.protobuf.StringValue + 20, // 22: CompleteWorkflowAction.workflowStatus:type_name -> OrchestrationStatus + 10, // 23: CompleteWorkflowAction.result:type_name -> google.protobuf.StringValue + 10, // 24: CompleteWorkflowAction.details:type_name -> google.protobuf.StringValue + 10, // 25: CompleteWorkflowAction.newVersion:type_name -> google.protobuf.StringValue + 21, // 26: CompleteWorkflowAction.carryoverEvents:type_name -> HistoryEvent + 22, // 27: CompleteWorkflowAction.failureDetails:type_name -> TaskFailureDetails + 10, // 28: TerminateWorkflowAction.reason:type_name -> google.protobuf.StringValue + 0, // 29: WorkflowAction.scheduleTask:type_name -> ScheduleTaskAction + 1, // 30: WorkflowAction.createChildWorkflow:type_name -> CreateChildWorkflowAction + 3, // 31: WorkflowAction.createTimer:type_name -> CreateTimerAction + 4, // 32: WorkflowAction.sendEvent:type_name -> SendEventAction + 5, // 33: WorkflowAction.completeWorkflow:type_name -> CompleteWorkflowAction + 6, // 34: WorkflowAction.terminateWorkflow:type_name -> TerminateWorkflowAction + 7, // 35: WorkflowAction.workflowVersionNotAvailable:type_name -> WorkflowVersionNotAvailableAction + 2, // 36: WorkflowAction.createDetachedWorkflow:type_name -> CreateDetachedWorkflowAction + 11, // 37: WorkflowAction.router:type_name -> TaskRouter + 38, // [38:38] is the sub-list for method output_type + 38, // [38:38] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_orchestrator_actions_proto_init() } @@ -1023,7 +1221,7 @@ func file_orchestrator_actions_proto_init() { } } file_orchestrator_actions_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTimerAction); i { + switch v := v.(*CreateDetachedWorkflowAction); i { case 0: return &v.state case 1: @@ -1035,7 +1233,7 @@ func file_orchestrator_actions_proto_init() { } } file_orchestrator_actions_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendEventAction); i { + switch v := v.(*CreateTimerAction); i { case 0: return &v.state case 1: @@ -1047,7 +1245,7 @@ func file_orchestrator_actions_proto_init() { } } file_orchestrator_actions_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompleteWorkflowAction); i { + switch v := v.(*SendEventAction); i { case 0: return &v.state case 1: @@ -1059,7 +1257,7 @@ func file_orchestrator_actions_proto_init() { } } file_orchestrator_actions_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TerminateWorkflowAction); i { + switch v := v.(*CompleteWorkflowAction); i { case 0: return &v.state case 1: @@ -1071,7 +1269,7 @@ func file_orchestrator_actions_proto_init() { } } file_orchestrator_actions_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkflowVersionNotAvailableAction); i { + switch v := v.(*TerminateWorkflowAction); i { case 0: return &v.state case 1: @@ -1083,6 +1281,18 @@ func file_orchestrator_actions_proto_init() { } } file_orchestrator_actions_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkflowVersionNotAvailableAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_orchestrator_actions_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowAction); i { case 0: return &v.state @@ -1097,13 +1307,14 @@ func file_orchestrator_actions_proto_init() { } file_orchestrator_actions_proto_msgTypes[0].OneofWrappers = []interface{}{} file_orchestrator_actions_proto_msgTypes[1].OneofWrappers = []interface{}{} - file_orchestrator_actions_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_orchestrator_actions_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_orchestrator_actions_proto_msgTypes[3].OneofWrappers = []interface{}{ (*CreateTimerAction_CreateTimer)(nil), (*CreateTimerAction_ExternalEvent)(nil), (*CreateTimerAction_ActivityRetry)(nil), (*CreateTimerAction_ChildWorkflowRetry)(nil), } - file_orchestrator_actions_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_orchestrator_actions_proto_msgTypes[8].OneofWrappers = []interface{}{ (*WorkflowAction_ScheduleTask)(nil), (*WorkflowAction_CreateChildWorkflow)(nil), (*WorkflowAction_CreateTimer)(nil), @@ -1111,6 +1322,7 @@ func file_orchestrator_actions_proto_init() { (*WorkflowAction_CompleteWorkflow)(nil), (*WorkflowAction_TerminateWorkflow)(nil), (*WorkflowAction_WorkflowVersionNotAvailable)(nil), + (*WorkflowAction_CreateDetachedWorkflow)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -1118,7 +1330,7 @@ func file_orchestrator_actions_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_orchestrator_actions_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/api/protos/orchestrator_service.pb.go b/api/protos/orchestrator_service.pb.go index 702b88c9..6c02a863 100644 --- a/api/protos/orchestrator_service.pb.go +++ b/api/protos/orchestrator_service.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: orchestrator_service.proto diff --git a/api/protos/runtime_state.pb.go b/api/protos/runtime_state.pb.go index c432afd3..90897cca 100644 --- a/api/protos/runtime_state.pb.go +++ b/api/protos/runtime_state.pb.go @@ -12,7 +12,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v6.32.1 // source: runtime_state.proto diff --git a/backend/executor.go b/backend/executor.go index 59007a68..73e6d58a 100644 --- a/backend/executor.go +++ b/backend/executor.go @@ -689,6 +689,11 @@ func createGetInstanceResponse(req *protos.GetInstanceRequest, metadata *Workflo Version: metadata.Version, } + if metadata.ParentInstanceId != "" { + state.ParentInstanceId = wrapperspb.String(metadata.ParentInstanceId) + state.ParentAppId = metadata.ParentAppId + } + if req.GetInputsAndOutputs { state.Input = metadata.Input state.CustomStatus = metadata.CustomStatus diff --git a/backend/postgres/postgres.go b/backend/postgres/postgres.go index 21cf8022..e30a20eb 100644 --- a/backend/postgres/postgres.go +++ b/backend/postgres/postgres.go @@ -787,20 +787,62 @@ func (be *postgresBackend) GetWorkflowMetadata(ctx context.Context, iid api.Inst versionw = wrapperspb.String(*version) } + startEvent, err := be.getStartEvent(ctx, iid) + if err != nil { + return nil, err + } + + var parentInstanceID string + var parentAppIDw *wrapperspb.StringValue + if parent := startEvent.GetParentInstance(); parent != nil { + parentInstanceID = parent.GetWorkflowInstance().GetInstanceId() + if appID := parent.GetAppID(); appID != "" { + parentAppIDw = wrapperspb.String(appID) + } + } + return &backend.WorkflowMetadata{ - InstanceId: string(iid), - Name: *name, - RuntimeStatus: helpers.FromRuntimeStatusString(*runtimeStatus), - CreatedAt: timestamppb.New(*createdAt), - LastUpdatedAt: timestamppb.New(*lastUpdatedAt), - Input: inputw, - Output: outputw, - CustomStatus: customStatusw, - FailureDetails: failureDetails, - Version: versionw, + InstanceId: string(iid), + Name: *name, + RuntimeStatus: helpers.FromRuntimeStatusString(*runtimeStatus), + CreatedAt: timestamppb.New(*createdAt), + LastUpdatedAt: timestamppb.New(*lastUpdatedAt), + Input: inputw, + Output: outputw, + CustomStatus: customStatusw, + FailureDetails: failureDetails, + Version: versionw, + ParentInstanceId: parentInstanceID, + ParentAppId: parentAppIDw, }, nil } +// getStartEvent loads the ExecutionStarted event for an instance, or nil +// if the workflow has not yet been picked up by a worker. +// +// In History, row 0 is the WorkflowStartedEvent injected by the engine in +// workflowProcessor.applyWorkItem; the ExecutionStartedEvent sits at row 1. +func (be *postgresBackend) getStartEvent(ctx context.Context, iid api.InstanceID) (*protos.ExecutionStartedEvent, error) { + var payload []byte + err := be.db.QueryRow( + ctx, + "SELECT EventPayload FROM History WHERE InstanceID = $1 ORDER BY SequenceNumber ASC LIMIT 1 OFFSET 1", + iid, + ).Scan(&payload) + if errors.Is(err, pgx.ErrNoRows) { + return nil, nil + } + if err != nil { + return nil, fmt.Errorf("failed to query ExecutionStarted history event: %w", err) + } + + e, err := backend.UnmarshalHistoryEvent(payload) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal start event: %w", err) + } + return e.GetExecutionStarted(), nil +} + // GetWorkflowRuntimeState implements backend.Backend func (be *postgresBackend) GetWorkflowRuntimeState(ctx context.Context, wi *backend.WorkflowWorkItem) (*backend.WorkflowRuntimeState, error) { if err := be.ensureDB(); err != nil { diff --git a/backend/sqlite/sqlite.go b/backend/sqlite/sqlite.go index 01caa7ab..84097145 100644 --- a/backend/sqlite/sqlite.go +++ b/backend/sqlite/sqlite.go @@ -695,19 +695,61 @@ func (be *sqliteBackend) GetWorkflowMetadata(ctx context.Context, iid api.Instan } } + + startEvent, err := be.getStartEvent(ctx, iid) + if err != nil { + return nil, err + } + + var parentInstanceID string + var parentAppIDw *wrapperspb.StringValue + if parent := startEvent.GetParentInstance(); parent != nil { + parentInstanceID = parent.GetWorkflowInstance().GetInstanceId() + if appID := parent.GetAppID(); appID != "" { + parentAppIDw = wrapperspb.String(appID) + } + } + return &backend.WorkflowMetadata{ - InstanceId: string(iid), - Name: *name, - RuntimeStatus: helpers.FromRuntimeStatusString(*runtimeStatus), - CreatedAt: timestamppb.New(*createdAt), - LastUpdatedAt: timestamppb.New(*lastUpdatedAt), - Input: inputw, - Output: outputw, - CustomStatus: customStatusw, - FailureDetails: failureDetails, - Version: versionw, + InstanceId: string(iid), + Name: *name, + RuntimeStatus: helpers.FromRuntimeStatusString(*runtimeStatus), + CreatedAt: timestamppb.New(*createdAt), + LastUpdatedAt: timestamppb.New(*lastUpdatedAt), + Input: inputw, + Output: outputw, + CustomStatus: customStatusw, + FailureDetails: failureDetails, + Version: versionw, + ParentInstanceId: parentInstanceID, + ParentAppId: parentAppIDw, }, nil } +// getStartEvent loads the ExecutionStarted event for an instance, or nil +// if the workflow has not yet been picked up by a worker. +// +// In History, row 0 is the WorkflowStartedEvent injected by the engine in +// workflowProcessor.applyWorkItem; the ExecutionStartedEvent sits at row 1. +func (be *sqliteBackend) getStartEvent(ctx context.Context, iid api.InstanceID) (*protos.ExecutionStartedEvent, error) { + var payload []byte + err := be.db.QueryRowContext( + ctx, + "SELECT [EventPayload] FROM History WHERE [InstanceID] = ? ORDER BY [SequenceNumber] ASC LIMIT 1 OFFSET 1", + iid, + ).Scan(&payload) + if errors.Is(err, sql.ErrNoRows) { + return nil, nil + } + if err != nil { + return nil, fmt.Errorf("failed to query ExecutionStarted history event: %w", err) + } + + e, err := backend.UnmarshalHistoryEvent(payload) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal start event: %w", err) + } + return e.GetExecutionStarted(), nil +} // GetWorkflowRuntimeState implements backend.Backend func (be *sqliteBackend) GetWorkflowRuntimeState(ctx context.Context, wi *backend.WorkflowWorkItem) (*backend.WorkflowRuntimeState, error) { diff --git a/submodules/durabletask-protobuf b/submodules/durabletask-protobuf index 7d7391e4..29ede943 160000 --- a/submodules/durabletask-protobuf +++ b/submodules/durabletask-protobuf @@ -1 +1 @@ -Subproject commit 7d7391e4044252f4abcf55b17634a65de744f4ee +Subproject commit 29ede9434bcf3136784268caefcdc165693a0d9f diff --git a/tests/backend_test.go b/tests/backend_test.go index bdfe1a20..125404cd 100644 --- a/tests/backend_test.go +++ b/tests/backend_test.go @@ -363,6 +363,57 @@ func Test_GetNonExistingMetadata(t *testing.T) { } } +// Test_GetWorkflowMetadata_ParentAppID asserts that ParentInstanceId and +// ParentAppId on WorkflowMetadata are populated from the ExecutionStarted +// event after the first work item has moved it into History. +func Test_GetWorkflowMetadata_ParentAppID(t *testing.T) { + const ( + instanceID = "child-instance" + parentID = "parent-instance" + parentAppID = "parent-app" + ) + + for i, be := range backends { + initTest(t, be, i, true) + + if !createChildWorkflowInstance(t, be, instanceID, parentID, parentAppID) { + continue + } + + if !processFirstWorkItem(t, be, instanceID) { + continue + } + + metadata, ok := getWorkflowMetadata(t, be, api.InstanceID(instanceID)) + if !ok { + continue + } + assert.Equal(t, parentID, metadata.GetParentInstanceId()) + assert.Equal(t, parentAppID, metadata.GetParentAppId().GetValue()) + } +} + + +// Test_GetWorkflowMetadata_NoParent asserts that a top-level workflow +// produces a metadata with no parent fields set. +func Test_GetWorkflowMetadata_NoParent(t *testing.T) { + for i, be := range backends { + initTest(t, be, i, true) + + const instanceID = "top-level-instance" + if !createWorkflowInstance(t, be, instanceID) { + continue + } + + metadata, ok := getWorkflowMetadata(t, be, api.InstanceID(instanceID)) + if !ok { + continue + } + assert.Empty(t, metadata.GetParentInstanceId()) + assert.Nil(t, metadata.GetParentAppId()) + } +} + func Test_PurgeWorkflowState(t *testing.T) { for i, be := range backends { initTest(t, be, i, true) @@ -496,6 +547,25 @@ func createWorkflowInstance(t assert.TestingT, be backend.Backend, instanceID st return assert.NoError(t, err) } +func createChildWorkflowInstance(t assert.TestingT, be backend.Backend, instanceID, parentInstanceID, parentAppID string) bool { + e := &protos.HistoryEvent{ + Timestamp: timestamppb.New(time.Now()), + EventType: &protos.HistoryEvent_ExecutionStarted{ + ExecutionStarted: &protos.ExecutionStartedEvent{ + Name: defaultName, + WorkflowInstance: &protos.WorkflowInstance{InstanceId: instanceID}, + Input: wrapperspb.String(defaultInput), + ParentInstance: &protos.ParentInstanceInfo{ + WorkflowInstance: &protos.WorkflowInstance{InstanceId: parentInstanceID}, + AppID: &parentAppID, + }, + }, + }, + } + err := be.CreateWorkflowInstance(ctx, e) + return assert.NoError(t, err) +} + func getWorkflowWorkItem(t assert.TestingT, be backend.Backend, expectedInstanceID string) (*backend.WorkflowWorkItem, bool) { wi, err := be.NextWorkflowWorkItem(ctx) if assert.NoError(t, err) && assert.NotNil(t, wi) { @@ -524,3 +594,30 @@ func getWorkflowMetadata(t assert.TestingT, be backend.Backend, iid api.Instance return nil, false } + +// processFirstWorkItem fetches the first work item for the given instance, +// prepends a WorkflowStartedEvent to NewEvents before the work item's own events, +// applies its NewEvents to the runtime state, and completes the work item +// without producing any additional workflow actions. +func processFirstWorkItem(t assert.TestingT, be backend.Backend, instanceID string) bool { + wi, ok := getWorkflowWorkItem(t, be, instanceID) + if !ok { + return false + } + state, ok := getWorkflowRuntimeState(t, be, wi) + if !ok { + return false + } + runtimestate.AddEvent(state, &protos.HistoryEvent{ + EventId: -1, + Timestamp: timestamppb.Now(), + EventType: &protos.HistoryEvent_WorkflowStarted{ + WorkflowStarted: &protos.WorkflowStartedEvent{}, + }, + }) + for _, e := range wi.NewEvents { + runtimestate.AddEvent(state, e) + } + wi.State = state + return assert.NoError(t, be.CompleteWorkflowWorkItem(ctx, wi)) +}