diff --git a/gooseai/generation/generation.pb.go b/gooseai/generation/generation.pb.go index bac3f93..fb46f84 100644 --- a/gooseai/generation/generation.pb.go +++ b/gooseai/generation/generation.pb.go @@ -3907,6 +3907,63 @@ func (x *ChainRequest) GetStage() []*Stage { return nil } +// Currently the server will reject batches of more than 1 chain request. +// This is still useful to enable unary responses via BatchGenerate. +type BatchRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BatchId string `protobuf:"bytes,1,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"` + Requests []*ChainRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` +} + +func (x *BatchRequest) Reset() { + *x = BatchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_generation_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchRequest) ProtoMessage() {} + +func (x *BatchRequest) ProtoReflect() protoreflect.Message { + mi := &file_generation_proto_msgTypes[38] + 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 BatchRequest.ProtoReflect.Descriptor instead. +func (*BatchRequest) Descriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{38} +} + +func (x *BatchRequest) GetBatchId() string { + if x != nil { + return x.BatchId + } + return "" +} + +func (x *BatchRequest) GetRequests() []*ChainRequest { + if x != nil { + return x.Requests + } + return nil +} + var File_generation_proto protoreflect.FileDescriptor var file_generation_proto_rawDesc = []byte{ @@ -4431,152 +4488,162 @@ var file_generation_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x2a, 0x45, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, - 0x54, 0x4f, 0x50, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, - 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x04, 0x2a, 0xf8, 0x01, 0x0a, - 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, - 0x0d, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, - 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x49, 0x4d, 0x41, - 0x47, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, - 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x54, 0x49, - 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, - 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x04, - 0x12, 0x16, 0x0a, 0x12, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x45, 0x4d, 0x42, - 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x52, 0x54, 0x49, - 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, - 0x43, 0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x52, 0x54, - 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x08, 0x12, 0x13, - 0x0a, 0x0f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x45, 0x4e, 0x53, 0x4f, - 0x52, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, - 0x44, 0x45, 0x50, 0x54, 0x48, 0x10, 0x0a, 0x2a, 0x67, 0x0a, 0x0e, 0x4d, 0x61, 0x73, 0x6b, 0x65, - 0x64, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x53, - 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x5a, 0x45, - 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x53, 0x4b, 0x45, 0x44, 0x5f, 0x41, - 0x52, 0x45, 0x41, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, - 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x53, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x45, 0x41, - 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x02, - 0x2a, 0x35, 0x0a, 0x0c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, - 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x2a, 0x98, 0x02, 0x0a, 0x10, 0x44, 0x69, 0x66, 0x66, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x0c, - 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x44, 0x44, 0x49, 0x4d, 0x10, 0x00, 0x12, 0x10, - 0x0a, 0x0c, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x44, 0x44, 0x50, 0x4d, 0x10, 0x01, - 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x45, 0x55, - 0x4c, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, - 0x5f, 0x4b, 0x5f, 0x45, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x54, 0x52, - 0x41, 0x4c, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, - 0x4b, 0x5f, 0x48, 0x45, 0x55, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x4d, 0x50, - 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x5f, 0x32, 0x10, 0x05, 0x12, 0x1d, 0x0a, - 0x19, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x5f, 0x32, - 0x5f, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x54, 0x52, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, - 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x4c, 0x4d, 0x53, 0x10, 0x07, 0x12, - 0x20, 0x0a, 0x1c, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, - 0x50, 0x50, 0x5f, 0x32, 0x53, 0x5f, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x54, 0x52, 0x41, 0x4c, 0x10, - 0x08, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, - 0x50, 0x4d, 0x50, 0x50, 0x5f, 0x32, 0x4d, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x4d, - 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x50, 0x50, 0x5f, 0x53, 0x44, 0x45, - 0x10, 0x0a, 0x2a, 0x46, 0x0a, 0x08, 0x55, 0x70, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x10, - 0x0a, 0x0c, 0x55, 0x50, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x52, 0x47, 0x42, 0x10, 0x00, - 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x47, 0x46, 0x50, - 0x47, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x53, 0x43, 0x41, 0x4c, 0x45, - 0x52, 0x5f, 0x45, 0x53, 0x52, 0x47, 0x41, 0x4e, 0x10, 0x02, 0x2a, 0xd8, 0x01, 0x0a, 0x0e, 0x47, - 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, - 0x14, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, - 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x55, 0x49, 0x44, 0x41, - 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, - 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, - 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x55, 0x45, - 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, - 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, - 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, - 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, - 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, - 0x53, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x55, 0x49, 0x44, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x57, - 0x45, 0x53, 0x54, 0x10, 0x06, 0x2a, 0x91, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, - 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, - 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x4f, 0x44, 0x45, - 0x4c, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, - 0x4c, 0x49, 0x50, 0x5f, 0x56, 0x49, 0x54, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x4f, 0x44, + 0x73, 0x74, 0x61, 0x67, 0x65, 0x22, 0x5c, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x12, 0x31, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x2a, 0x45, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, + 0x50, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0a, + 0x0a, 0x06, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x04, 0x2a, 0xf8, 0x01, 0x0a, 0x0c, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x41, + 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0e, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x56, + 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, + 0x43, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x52, 0x54, + 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x04, 0x12, 0x16, + 0x0a, 0x12, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, + 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x53, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, + 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x52, 0x54, 0x49, 0x46, + 0x41, 0x43, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, + 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x10, + 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x44, 0x45, + 0x50, 0x54, 0x48, 0x10, 0x0a, 0x2a, 0x67, 0x0a, 0x0e, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41, + 0x72, 0x65, 0x61, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x53, 0x4b, 0x45, + 0x44, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, + 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x53, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x45, + 0x41, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, + 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x53, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x49, + 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x2a, 0x35, + 0x0a, 0x0c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, + 0x0a, 0x0c, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x2a, 0x98, 0x02, 0x0a, 0x10, 0x44, 0x69, 0x66, 0x66, 0x75, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, + 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x44, 0x44, 0x49, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x44, 0x44, 0x50, 0x4d, 0x10, 0x01, 0x12, 0x13, + 0x0a, 0x0f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x45, 0x55, 0x4c, 0x45, + 0x52, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, + 0x5f, 0x45, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x54, 0x52, 0x41, 0x4c, + 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, + 0x48, 0x45, 0x55, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, + 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x5f, 0x32, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x53, + 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x5f, 0x32, 0x5f, 0x41, + 0x4e, 0x43, 0x45, 0x53, 0x54, 0x52, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x41, + 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x4c, 0x4d, 0x53, 0x10, 0x07, 0x12, 0x20, 0x0a, + 0x1c, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x50, 0x50, + 0x5f, 0x32, 0x53, 0x5f, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x54, 0x52, 0x41, 0x4c, 0x10, 0x08, 0x12, + 0x16, 0x0a, 0x12, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, + 0x50, 0x50, 0x5f, 0x32, 0x4d, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x4d, 0x50, 0x4c, + 0x45, 0x52, 0x5f, 0x4b, 0x5f, 0x44, 0x50, 0x4d, 0x50, 0x50, 0x5f, 0x53, 0x44, 0x45, 0x10, 0x0a, + 0x2a, 0x46, 0x0a, 0x08, 0x55, 0x70, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x0c, + 0x55, 0x50, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x52, 0x47, 0x42, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x55, 0x50, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x47, 0x46, 0x50, 0x47, 0x41, + 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, + 0x45, 0x53, 0x52, 0x47, 0x41, 0x4e, 0x10, 0x02, 0x2a, 0xd8, 0x01, 0x0a, 0x0e, 0x47, 0x75, 0x69, + 0x64, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x47, + 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, + 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, + 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, + 0x45, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x55, 0x45, 0x10, 0x02, + 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, + 0x53, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x03, + 0x12, 0x18, 0x0a, 0x14, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, + 0x53, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x55, + 0x49, 0x44, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x4c, + 0x4f, 0x57, 0x45, 0x52, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x55, 0x49, 0x44, 0x41, 0x4e, + 0x43, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x45, 0x53, + 0x54, 0x10, 0x06, 0x2a, 0x91, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, - 0x43, 0x4c, 0x49, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x4e, 0x45, 0x54, 0x10, 0x02, 0x12, 0x1a, 0x0a, - 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, - 0x55, 0x52, 0x45, 0x5f, 0x4c, 0x44, 0x4d, 0x10, 0x03, 0x2a, 0xa2, 0x01, 0x0a, 0x06, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, - 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, - 0x11, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, - 0x54, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, - 0x42, 0x46, 0x55, 0x53, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, - 0x54, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, - 0x42, 0x46, 0x55, 0x53, 0x43, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x05, 0x2a, 0x44, - 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c, 0x53, 0x46, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x5a, - 0x45, 0x52, 0x4f, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4c, 0x53, - 0x46, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x4c, 0x41, - 0x53, 0x53, 0x10, 0x01, 0x2a, 0x8c, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, - 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x10, 0x00, - 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, - 0x52, 0x49, 0x46, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, - 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, - 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, - 0x45, 0x5f, 0x56, 0x41, 0x45, 0x5f, 0x53, 0x4c, 0x45, 0x52, 0x50, 0x10, 0x03, 0x12, 0x14, 0x0a, - 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, - 0x4d, 0x10, 0x04, 0x2a, 0x6c, 0x0a, 0x0a, 0x42, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x46, 0x4c, - 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, - 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x42, - 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x57, 0x52, 0x41, 0x50, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, - 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x03, 0x12, 0x12, 0x0a, - 0x0e, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x4c, 0x4c, 0x10, - 0x04, 0x2a, 0x4f, 0x0a, 0x0e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x54, - 0x43, 0x48, 0x5f, 0x48, 0x53, 0x56, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4f, - 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x42, 0x10, 0x01, 0x12, 0x13, 0x0a, - 0x0f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x47, 0x42, - 0x10, 0x02, 0x2a, 0x3d, 0x0a, 0x0a, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x12, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x50, - 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x41, 0x4d, 0x45, - 0x52, 0x41, 0x5f, 0x4f, 0x52, 0x54, 0x48, 0x4f, 0x47, 0x52, 0x41, 0x50, 0x48, 0x49, 0x43, 0x10, - 0x01, 0x2a, 0x3d, 0x0a, 0x0b, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x55, 0x54, 0x10, 0x00, 0x12, - 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x01, 0x12, 0x10, - 0x0a, 0x0c, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, - 0x2a, 0x81, 0x01, 0x0a, 0x08, 0x41, 0x73, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x12, 0x17, 0x0a, - 0x13, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, - 0x55, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x41, - 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x10, - 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, - 0x11, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x10, 0x04, 0x2a, 0x57, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, - 0x41, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, - 0x52, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x02, 0x32, 0x83, 0x01, - 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, - 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x22, 0x00, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, - 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, - 0x00, 0x30, 0x01, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2d, 0x61, 0x69, 0x2f, 0x61, - 0x70, 0x69, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, + 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x49, + 0x50, 0x5f, 0x56, 0x49, 0x54, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x4f, 0x44, 0x45, 0x4c, + 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x4c, + 0x49, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x4e, 0x45, 0x54, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4d, + 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, + 0x45, 0x5f, 0x4c, 0x44, 0x4d, 0x10, 0x03, 0x2a, 0xa2, 0x01, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x53, + 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, + 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, + 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x46, + 0x55, 0x53, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, + 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x46, + 0x55, 0x53, 0x43, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x05, 0x2a, 0x44, 0x0a, 0x0e, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x17, + 0x0a, 0x13, 0x43, 0x4c, 0x53, 0x46, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x5a, 0x45, 0x52, + 0x4f, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4c, 0x53, 0x46, 0x52, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x4c, 0x41, 0x53, 0x53, + 0x10, 0x01, 0x2a, 0x8c, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, + 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x49, + 0x46, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, + 0x41, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x10, 0x02, + 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, + 0x56, 0x41, 0x45, 0x5f, 0x53, 0x4c, 0x45, 0x52, 0x50, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x4d, 0x10, + 0x04, 0x2a, 0x6c, 0x0a, 0x0a, 0x42, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x12, 0x0a, 0x0e, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x46, 0x4c, 0x45, 0x43, + 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x52, 0x45, + 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x57, 0x52, 0x41, 0x50, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4f, + 0x52, 0x44, 0x45, 0x52, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x42, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x4c, 0x4c, 0x10, 0x04, 0x2a, + 0x4f, 0x0a, 0x0e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, + 0x5f, 0x48, 0x53, 0x56, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x42, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, + 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x47, 0x42, 0x10, 0x02, + 0x2a, 0x3d, 0x0a, 0x0a, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, + 0x0a, 0x12, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x50, 0x45, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, + 0x5f, 0x4f, 0x52, 0x54, 0x48, 0x4f, 0x47, 0x52, 0x41, 0x50, 0x48, 0x49, 0x43, 0x10, 0x01, 0x2a, + 0x3d, 0x0a, 0x0b, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, + 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x55, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, + 0x09, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, + 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x2a, 0x81, + 0x01, 0x0a, 0x08, 0x41, 0x73, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, + 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, + 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x53, 0x53, + 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x10, 0x02, 0x12, + 0x1a, 0x0a, 0x16, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x41, + 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, + 0x10, 0x04, 0x2a, 0x57, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x47, + 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, + 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x02, 0x32, 0xc3, 0x01, 0x0a, 0x11, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x31, 0x0a, 0x08, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x10, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x22, 0x00, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x3e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x00, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2d, 0x61, 0x69, 0x2f, 0x61, 0x70, 0x69, + 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4592,7 +4659,7 @@ func file_generation_proto_rawDescGZIP() []byte { } var file_generation_proto_enumTypes = make([]protoimpl.EnumInfo, 17) -var file_generation_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_generation_proto_msgTypes = make([]protoimpl.MessageInfo, 39) var file_generation_proto_goTypes = []interface{}{ (FinishReason)(0), // 0: gooseai.FinishReason (ArtifactType)(0), // 1: gooseai.ArtifactType @@ -4649,15 +4716,16 @@ var file_generation_proto_goTypes = []interface{}{ (*OnStatus)(nil), // 52: gooseai.OnStatus (*Stage)(nil), // 53: gooseai.Stage (*ChainRequest)(nil), // 54: gooseai.ChainRequest - (*tensors.Tensor)(nil), // 55: tensors.Tensor - (*structpb.Struct)(nil), // 56: google.protobuf.Struct + (*BatchRequest)(nil), // 55: gooseai.BatchRequest + (*tensors.Tensor)(nil), // 56: tensors.Tensor + (*structpb.Struct)(nil), // 57: google.protobuf.Struct } var file_generation_proto_depIdxs = []int32{ 17, // 0: gooseai.Tokens.tokens:type_name -> gooseai.Token 1, // 1: gooseai.Artifact.type:type_name -> gooseai.ArtifactType 18, // 2: gooseai.Artifact.tokens:type_name -> gooseai.Tokens 35, // 3: gooseai.Artifact.classifier:type_name -> gooseai.ClassifierParameters - 55, // 4: gooseai.Artifact.tensor:type_name -> tensors.Tensor + 56, // 4: gooseai.Artifact.tensor:type_name -> tensors.Tensor 0, // 5: gooseai.Artifact.finish_reason:type_name -> gooseai.FinishReason 20, // 6: gooseai.Prompt.parameters:type_name -> gooseai.PromptParameters 18, // 7: gooseai.Prompt.tokens:type_name -> gooseai.Tokens @@ -4716,21 +4784,24 @@ var file_generation_proto_depIdxs = []int32{ 36, // 60: gooseai.Request.interpolate:type_name -> gooseai.InterpolateParameters 46, // 61: gooseai.Request.transform:type_name -> gooseai.TransformParameters 23, // 62: gooseai.Request.conditioner:type_name -> gooseai.ConditionerParameters - 56, // 63: gooseai.Request.extras:type_name -> google.protobuf.Struct + 57, // 63: gooseai.Request.extras:type_name -> google.protobuf.Struct 0, // 64: gooseai.OnStatus.reason:type_name -> gooseai.FinishReason 16, // 65: gooseai.OnStatus.action:type_name -> gooseai.StageAction 51, // 66: gooseai.Stage.request:type_name -> gooseai.Request 52, // 67: gooseai.Stage.on_status:type_name -> gooseai.OnStatus 53, // 68: gooseai.ChainRequest.stage:type_name -> gooseai.Stage - 51, // 69: gooseai.GenerationService.Generate:input_type -> gooseai.Request - 54, // 70: gooseai.GenerationService.ChainGenerate:input_type -> gooseai.ChainRequest - 49, // 71: gooseai.GenerationService.Generate:output_type -> gooseai.Answer - 49, // 72: gooseai.GenerationService.ChainGenerate:output_type -> gooseai.Answer - 71, // [71:73] is the sub-list for method output_type - 69, // [69:71] is the sub-list for method input_type - 69, // [69:69] is the sub-list for extension type_name - 69, // [69:69] is the sub-list for extension extendee - 0, // [0:69] is the sub-list for field type_name + 54, // 69: gooseai.BatchRequest.requests:type_name -> gooseai.ChainRequest + 51, // 70: gooseai.GenerationService.Generate:input_type -> gooseai.Request + 54, // 71: gooseai.GenerationService.ChainGenerate:input_type -> gooseai.ChainRequest + 55, // 72: gooseai.GenerationService.BatchGenerate:input_type -> gooseai.BatchRequest + 49, // 73: gooseai.GenerationService.Generate:output_type -> gooseai.Answer + 49, // 74: gooseai.GenerationService.ChainGenerate:output_type -> gooseai.Answer + 50, // 75: gooseai.GenerationService.BatchGenerate:output_type -> gooseai.AnswerBatch + 73, // [73:76] is the sub-list for method output_type + 70, // [70:73] is the sub-list for method input_type + 70, // [70:70] is the sub-list for extension type_name + 70, // [70:70] is the sub-list for extension extendee + 0, // [0:70] is the sub-list for field type_name } func init() { file_generation_proto_init() } @@ -5195,6 +5266,18 @@ func file_generation_proto_init() { return nil } } + file_generation_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_generation_proto_msgTypes[0].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[1].OneofWrappers = []interface{}{} @@ -5256,7 +5339,7 @@ func file_generation_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_generation_proto_rawDesc, NumEnums: 17, - NumMessages: 38, + NumMessages: 39, NumExtensions: 0, NumServices: 1, }, diff --git a/gooseai/generation/generation_grpc.pb.go b/gooseai/generation/generation_grpc.pb.go index 75d7880..20389a0 100644 --- a/gooseai/generation/generation_grpc.pb.go +++ b/gooseai/generation/generation_grpc.pb.go @@ -20,6 +20,8 @@ const _ = grpc.SupportPackageIsVersion7 type GenerationServiceClient interface { Generate(ctx context.Context, in *Request, opts ...grpc.CallOption) (GenerationService_GenerateClient, error) ChainGenerate(ctx context.Context, in *ChainRequest, opts ...grpc.CallOption) (GenerationService_ChainGenerateClient, error) + // Unary version of ChainGenerate + BatchGenerate(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*AnswerBatch, error) } type generationServiceClient struct { @@ -94,12 +96,23 @@ func (x *generationServiceChainGenerateClient) Recv() (*Answer, error) { return m, nil } +func (c *generationServiceClient) BatchGenerate(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*AnswerBatch, error) { + out := new(AnswerBatch) + err := c.cc.Invoke(ctx, "/gooseai.GenerationService/BatchGenerate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // GenerationServiceServer is the server API for GenerationService service. // All implementations must embed UnimplementedGenerationServiceServer // for forward compatibility type GenerationServiceServer interface { Generate(*Request, GenerationService_GenerateServer) error ChainGenerate(*ChainRequest, GenerationService_ChainGenerateServer) error + // Unary version of ChainGenerate + BatchGenerate(context.Context, *BatchRequest) (*AnswerBatch, error) mustEmbedUnimplementedGenerationServiceServer() } @@ -113,6 +126,9 @@ func (UnimplementedGenerationServiceServer) Generate(*Request, GenerationService func (UnimplementedGenerationServiceServer) ChainGenerate(*ChainRequest, GenerationService_ChainGenerateServer) error { return status.Errorf(codes.Unimplemented, "method ChainGenerate not implemented") } +func (UnimplementedGenerationServiceServer) BatchGenerate(context.Context, *BatchRequest) (*AnswerBatch, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchGenerate not implemented") +} func (UnimplementedGenerationServiceServer) mustEmbedUnimplementedGenerationServiceServer() {} // UnsafeGenerationServiceServer may be embedded to opt out of forward compatibility for this service. @@ -168,13 +184,36 @@ func (x *generationServiceChainGenerateServer) Send(m *Answer) error { return x.ServerStream.SendMsg(m) } +func _GenerationService_BatchGenerate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GenerationServiceServer).BatchGenerate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.GenerationService/BatchGenerate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GenerationServiceServer).BatchGenerate(ctx, req.(*BatchRequest)) + } + return interceptor(ctx, in, info, handler) +} + // GenerationService_ServiceDesc is the grpc.ServiceDesc for GenerationService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var GenerationService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "gooseai.GenerationService", HandlerType: (*GenerationServiceServer)(nil), - Methods: []grpc.MethodDesc{}, + Methods: []grpc.MethodDesc{ + { + MethodName: "BatchGenerate", + Handler: _GenerationService_BatchGenerate_Handler, + }, + }, Streams: []grpc.StreamDesc{ { StreamName: "Generate", diff --git a/gooseai/generation/generation_grpc_pb.d.ts b/gooseai/generation/generation_grpc_pb.d.ts index d713ead..c704027 100644 --- a/gooseai/generation/generation_grpc_pb.d.ts +++ b/gooseai/generation/generation_grpc_pb.d.ts @@ -9,6 +9,7 @@ import * as grpc from "grpc"; interface IGenerationServiceService extends grpc.ServiceDefinition { generate: grpc.MethodDefinition; chainGenerate: grpc.MethodDefinition; + batchGenerate: grpc.MethodDefinition; } export const GenerationServiceService: IGenerationServiceService; @@ -16,6 +17,7 @@ export const GenerationServiceService: IGenerationServiceService; export interface IGenerationServiceServer extends grpc.UntypedServiceImplementation { generate: grpc.handleServerStreamingCall; chainGenerate: grpc.handleServerStreamingCall; + batchGenerate: grpc.handleUnaryCall; } export class GenerationServiceClient extends grpc.Client { @@ -24,4 +26,7 @@ export class GenerationServiceClient extends grpc.Client { generate(argument: generation_pb.Request, metadata?: grpc.Metadata | null, options?: grpc.CallOptions | null): grpc.ClientReadableStream; chainGenerate(argument: generation_pb.ChainRequest, metadataOrOptions?: grpc.Metadata | grpc.CallOptions | null): grpc.ClientReadableStream; chainGenerate(argument: generation_pb.ChainRequest, metadata?: grpc.Metadata | null, options?: grpc.CallOptions | null): grpc.ClientReadableStream; + batchGenerate(argument: generation_pb.BatchRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + batchGenerate(argument: generation_pb.BatchRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + batchGenerate(argument: generation_pb.BatchRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; } diff --git a/gooseai/generation/generation_grpc_pb.js b/gooseai/generation/generation_grpc_pb.js index fd552d6..e1c8be4 100644 --- a/gooseai/generation/generation_grpc_pb.js +++ b/gooseai/generation/generation_grpc_pb.js @@ -17,6 +17,28 @@ function deserialize_gooseai_Answer(buffer_arg) { return generation_pb.Answer.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_gooseai_AnswerBatch(arg) { + if (!(arg instanceof generation_pb.AnswerBatch)) { + throw new Error('Expected argument of type gooseai.AnswerBatch'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_AnswerBatch(buffer_arg) { + return generation_pb.AnswerBatch.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_BatchRequest(arg) { + if (!(arg instanceof generation_pb.BatchRequest)) { + throw new Error('Expected argument of type gooseai.BatchRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_BatchRequest(buffer_arg) { + return generation_pb.BatchRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_gooseai_ChainRequest(arg) { if (!(arg instanceof generation_pb.ChainRequest)) { throw new Error('Expected argument of type gooseai.ChainRequest'); @@ -66,6 +88,18 @@ var GenerationServiceService = exports.GenerationServiceService = { responseSerialize: serialize_gooseai_Answer, responseDeserialize: deserialize_gooseai_Answer, }, + // Unary version of ChainGenerate +batchGenerate: { + path: '/gooseai.GenerationService/BatchGenerate', + requestStream: false, + responseStream: false, + requestType: generation_pb.BatchRequest, + responseType: generation_pb.AnswerBatch, + requestSerialize: serialize_gooseai_BatchRequest, + requestDeserialize: deserialize_gooseai_BatchRequest, + responseSerialize: serialize_gooseai_AnswerBatch, + responseDeserialize: deserialize_gooseai_AnswerBatch, + }, }; exports.GenerationServiceClient = grpc.makeGenericClientConstructor(GenerationServiceService); diff --git a/gooseai/generation/generation_pb.d.ts b/gooseai/generation/generation_pb.d.ts index eb1d66b..885bec0 100644 --- a/gooseai/generation/generation_pb.d.ts +++ b/gooseai/generation/generation_pb.d.ts @@ -1506,6 +1506,32 @@ export namespace ChainRequest { } } +export class BatchRequest extends jspb.Message { + getBatchId(): string; + setBatchId(value: string): void; + + clearRequestsList(): void; + getRequestsList(): Array; + setRequestsList(value: Array): void; + addRequests(value?: ChainRequest, index?: number): ChainRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): BatchRequest.AsObject; + static toObject(includeInstance: boolean, msg: BatchRequest): BatchRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: BatchRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BatchRequest; + static deserializeBinaryFromReader(message: BatchRequest, reader: jspb.BinaryReader): BatchRequest; +} + +export namespace BatchRequest { + export type AsObject = { + batchId: string, + requestsList: Array, + } +} + export interface FinishReasonMap { NULL: 0; LENGTH: 1; diff --git a/gooseai/generation/generation_pb.js b/gooseai/generation/generation_pb.js index 56eb7e3..2b1640b 100644 --- a/gooseai/generation/generation_pb.js +++ b/gooseai/generation/generation_pb.js @@ -35,6 +35,7 @@ goog.exportSymbol('proto.gooseai.ArtifactType', null, global); goog.exportSymbol('proto.gooseai.AssetAction', null, global); goog.exportSymbol('proto.gooseai.AssetParameters', null, global); goog.exportSymbol('proto.gooseai.AssetUse', null, global); +goog.exportSymbol('proto.gooseai.BatchRequest', null, global); goog.exportSymbol('proto.gooseai.BorderMode', null, global); goog.exportSymbol('proto.gooseai.CameraParameters', null, global); goog.exportSymbol('proto.gooseai.CameraType', null, global); @@ -884,6 +885,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.gooseai.ChainRequest.displayName = 'proto.gooseai.ChainRequest'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.gooseai.BatchRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.gooseai.BatchRequest.repeatedFields_, null); +}; +goog.inherits(proto.gooseai.BatchRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.BatchRequest.displayName = 'proto.gooseai.BatchRequest'; +} @@ -11804,6 +11826,196 @@ proto.gooseai.ChainRequest.prototype.clearStageList = function() { }; + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.gooseai.BatchRequest.repeatedFields_ = [2]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.gooseai.BatchRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.BatchRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.gooseai.BatchRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.BatchRequest.toObject = function(includeInstance, msg) { + var f, obj = { + batchId: jspb.Message.getFieldWithDefault(msg, 1, ""), + requestsList: jspb.Message.toObjectList(msg.getRequestsList(), + proto.gooseai.ChainRequest.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.gooseai.BatchRequest} + */ +proto.gooseai.BatchRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.BatchRequest; + return proto.gooseai.BatchRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.BatchRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.BatchRequest} + */ +proto.gooseai.BatchRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setBatchId(value); + break; + case 2: + var value = new proto.gooseai.ChainRequest; + reader.readMessage(value,proto.gooseai.ChainRequest.deserializeBinaryFromReader); + msg.addRequests(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.BatchRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.BatchRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.gooseai.BatchRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.BatchRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBatchId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getRequestsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.gooseai.ChainRequest.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string batch_id = 1; + * @return {string} + */ +proto.gooseai.BatchRequest.prototype.getBatchId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.BatchRequest} returns this + */ +proto.gooseai.BatchRequest.prototype.setBatchId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * repeated ChainRequest requests = 2; + * @return {!Array} + */ +proto.gooseai.BatchRequest.prototype.getRequestsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.gooseai.ChainRequest, 2)); +}; + + +/** + * @param {!Array} value + * @return {!proto.gooseai.BatchRequest} returns this +*/ +proto.gooseai.BatchRequest.prototype.setRequestsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); +}; + + +/** + * @param {!proto.gooseai.ChainRequest=} opt_value + * @param {number=} opt_index + * @return {!proto.gooseai.ChainRequest} + */ +proto.gooseai.BatchRequest.prototype.addRequests = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.gooseai.ChainRequest, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.gooseai.BatchRequest} returns this + */ +proto.gooseai.BatchRequest.prototype.clearRequestsList = function() { + return this.setRequestsList([]); +}; + + /** * @enum {number} */ diff --git a/gooseai/generation/generation_pb2.py b/gooseai/generation/generation_pb2.py index e0d28b9..9335029 100644 --- a/gooseai/generation/generation_pb2.py +++ b/gooseai/generation/generation_pb2.py @@ -17,7 +17,7 @@ import tensors_pb2 as tensors__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10generation.proto\x12\x07gooseai\x1a\x1cgoogle/protobuf/struct.proto\x1a\rtensors.proto\"/\n\x05Token\x12\x11\n\x04text\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\n\n\x02id\x18\x02 \x01(\rB\x07\n\x05_text\"T\n\x06Tokens\x12\x1e\n\x06tokens\x18\x01 \x03(\x0b\x32\x0e.gooseai.Token\x12\x19\n\x0ctokenizer_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_tokenizer_id\"\xf3\x02\n\x08\x41rtifact\x12\n\n\x02id\x18\x01 \x01(\x04\x12#\n\x04type\x18\x02 \x01(\x0e\x32\x15.gooseai.ArtifactType\x12\x0c\n\x04mime\x18\x03 \x01(\t\x12\x12\n\x05magic\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x06\x62inary\x18\x05 \x01(\x0cH\x00\x12\x0e\n\x04text\x18\x06 \x01(\tH\x00\x12!\n\x06tokens\x18\x07 \x01(\x0b\x32\x0f.gooseai.TokensH\x00\x12\x33\n\nclassifier\x18\x0b \x01(\x0b\x32\x1d.gooseai.ClassifierParametersH\x00\x12!\n\x06tensor\x18\x0e \x01(\x0b\x32\x0f.tensors.TensorH\x00\x12\r\n\x05index\x18\x08 \x01(\r\x12,\n\rfinish_reason\x18\t \x01(\x0e\x32\x15.gooseai.FinishReason\x12\x0c\n\x04seed\x18\n \x01(\r\x12\x0c\n\x04uuid\x18\x0c \x01(\t\x12\x0c\n\x04size\x18\r \x01(\x04\x42\x06\n\x04\x64\x61taB\x08\n\x06_magic\"N\n\x10PromptParameters\x12\x11\n\x04init\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x07\n\x05_initB\t\n\x07_weight\"\xaf\x01\n\x06Prompt\x12\x32\n\nparameters\x18\x01 \x01(\x0b\x32\x19.gooseai.PromptParametersH\x01\x88\x01\x01\x12\x0e\n\x04text\x18\x02 \x01(\tH\x00\x12!\n\x06tokens\x18\x03 \x01(\x0b\x32\x0f.gooseai.TokensH\x00\x12%\n\x08\x61rtifact\x18\x04 \x01(\x0b\x32\x11.gooseai.ArtifactH\x00\x42\x08\n\x06promptB\r\n\x0b_parameters\"\xd7\x02\n\x11SamplerParameters\x12\x10\n\x03\x65ta\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0esampling_steps\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1c\n\x0flatent_channels\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12 \n\x13\x64ownsampling_factor\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x16\n\tcfg_scale\x18\x05 \x01(\x02H\x04\x88\x01\x01\x12\x1d\n\x10init_noise_scale\x18\x06 \x01(\x02H\x05\x88\x01\x01\x12\x1d\n\x10step_noise_scale\x18\x07 \x01(\x02H\x06\x88\x01\x01\x42\x06\n\x04_etaB\x11\n\x0f_sampling_stepsB\x12\n\x10_latent_channelsB\x16\n\x14_downsampling_factorB\x0c\n\n_cfg_scaleB\x13\n\x11_init_noise_scaleB\x13\n\x11_step_noise_scale\"\x8b\x01\n\x15\x43onditionerParameters\x12 \n\x13vector_adjust_prior\x18\x01 \x01(\tH\x00\x88\x01\x01\x12(\n\x0b\x63onditioner\x18\x02 \x01(\x0b\x32\x0e.gooseai.ModelH\x01\x88\x01\x01\x42\x16\n\x14_vector_adjust_priorB\x0e\n\x0c_conditioner\"j\n\x12ScheduleParameters\x12\x12\n\x05start\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\x05value\x18\x03 \x01(\x02H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\x08\n\x06_value\"\xe4\x01\n\rStepParameter\x12\x13\n\x0bscaled_step\x18\x01 \x01(\x02\x12\x30\n\x07sampler\x18\x02 \x01(\x0b\x32\x1a.gooseai.SamplerParametersH\x00\x88\x01\x01\x12\x32\n\x08schedule\x18\x03 \x01(\x0b\x32\x1b.gooseai.ScheduleParametersH\x01\x88\x01\x01\x12\x32\n\x08guidance\x18\x04 \x01(\x0b\x32\x1b.gooseai.GuidanceParametersH\x02\x88\x01\x01\x42\n\n\x08_samplerB\x0b\n\t_scheduleB\x0b\n\t_guidance\"\x97\x01\n\x05Model\x12\x30\n\x0c\x61rchitecture\x18\x01 \x01(\x0e\x32\x1a.gooseai.ModelArchitecture\x12\x11\n\tpublisher\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x61taset\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\x02\x12\x18\n\x10semantic_version\x18\x05 \x01(\t\x12\r\n\x05\x61lias\x18\x06 \x01(\t\"\xbc\x01\n\x10\x43utoutParameters\x12*\n\x07\x63utouts\x18\x01 \x03(\x0b\x32\x19.gooseai.CutoutParameters\x12\x12\n\x05\x63ount\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04gray\x18\x03 \x01(\x02H\x01\x88\x01\x01\x12\x11\n\x04\x62lur\x18\x04 \x01(\x02H\x02\x88\x01\x01\x12\x17\n\nsize_power\x18\x05 \x01(\x02H\x03\x88\x01\x01\x42\x08\n\x06_countB\x07\n\x05_grayB\x07\n\x05_blurB\r\n\x0b_size_power\"=\n\x1aGuidanceScheduleParameters\x12\x10\n\x08\x64uration\x18\x01 \x01(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"\x97\x02\n\x1aGuidanceInstanceParameters\x12\x1e\n\x06models\x18\x02 \x03(\x0b\x32\x0e.gooseai.Model\x12\x1e\n\x11guidance_strength\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x35\n\x08schedule\x18\x04 \x03(\x0b\x32#.gooseai.GuidanceScheduleParameters\x12/\n\x07\x63utouts\x18\x05 \x01(\x0b\x32\x19.gooseai.CutoutParametersH\x01\x88\x01\x01\x12$\n\x06prompt\x18\x06 \x01(\x0b\x32\x0f.gooseai.PromptH\x02\x88\x01\x01\x42\x14\n\x12_guidance_strengthB\n\n\x08_cutoutsB\t\n\x07_prompt\"~\n\x12GuidanceParameters\x12\x30\n\x0fguidance_preset\x18\x01 \x01(\x0e\x32\x17.gooseai.GuidancePreset\x12\x36\n\tinstances\x18\x02 \x03(\x0b\x32#.gooseai.GuidanceInstanceParameters\"n\n\rTransformType\x12.\n\tdiffusion\x18\x01 \x01(\x0e\x32\x19.gooseai.DiffusionSamplerH\x00\x12%\n\x08upscaler\x18\x02 \x01(\x0e\x32\x11.gooseai.UpscalerH\x00\x42\x06\n\x04type\"\xbd\x03\n\x0fImageParameters\x12\x13\n\x06height\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\x05width\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x0c\n\x04seed\x18\x03 \x03(\r\x12\x14\n\x07samples\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05steps\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12.\n\ttransform\x18\x06 \x01(\x0b\x32\x16.gooseai.TransformTypeH\x04\x88\x01\x01\x12*\n\nparameters\x18\x07 \x03(\x0b\x32\x16.gooseai.StepParameter\x12\x36\n\x10masked_area_init\x18\x08 \x01(\x0e\x32\x17.gooseai.MaskedAreaInitH\x05\x88\x01\x01\x12\x31\n\rweight_method\x18\t \x01(\x0e\x32\x15.gooseai.WeightMethodH\x06\x88\x01\x01\x12\x15\n\x08quantize\x18\n \x01(\x08H\x07\x88\x01\x01\x42\t\n\x07_heightB\x08\n\x06_widthB\n\n\x08_samplesB\x08\n\x06_stepsB\x0c\n\n_transformB\x13\n\x11_masked_area_initB\x10\n\x0e_weight_methodB\x0b\n\t_quantize\"J\n\x11\x43lassifierConcept\x12\x0f\n\x07\x63oncept\x18\x01 \x01(\t\x12\x16\n\tthreshold\x18\x02 \x01(\x02H\x00\x88\x01\x01\x42\x0c\n\n_threshold\"\xf4\x01\n\x12\x43lassifierCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x08\x63oncepts\x18\x02 \x03(\x0b\x32\x1a.gooseai.ClassifierConcept\x12\x17\n\nadjustment\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12$\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x0f.gooseai.ActionH\x01\x88\x01\x01\x12\x35\n\x0f\x63lassifier_mode\x18\x05 \x01(\x0e\x32\x17.gooseai.ClassifierModeH\x02\x88\x01\x01\x42\r\n\x0b_adjustmentB\t\n\x07_actionB\x12\n\x10_classifier_mode\"\xb8\x01\n\x14\x43lassifierParameters\x12/\n\ncategories\x18\x01 \x03(\x0b\x32\x1b.gooseai.ClassifierCategory\x12,\n\x07\x65xceeds\x18\x02 \x03(\x0b\x32\x1b.gooseai.ClassifierCategory\x12-\n\x0frealized_action\x18\x03 \x01(\x0e\x32\x0f.gooseai.ActionH\x00\x88\x01\x01\x42\x12\n\x10_realized_action\"]\n\x15InterpolateParameters\x12\x0e\n\x06ratios\x18\x01 \x03(\x02\x12+\n\x04mode\x18\x02 \x01(\x0e\x32\x18.gooseai.InterpolateModeH\x00\x88\x01\x01\x42\x07\n\x05_mode\"\x9c\x03\n\x14TransformColorAdjust\x12\x17\n\nbrightness\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x15\n\x08\x63ontrast\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x10\n\x03hue\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x17\n\nsaturation\x18\x04 \x01(\x02H\x03\x88\x01\x01\x12\x16\n\tlightness\x18\x05 \x01(\x02H\x04\x88\x01\x01\x12+\n\x0bmatch_image\x18\x06 \x01(\x0b\x32\x11.gooseai.ArtifactH\x05\x88\x01\x01\x12\x30\n\nmatch_mode\x18\x07 \x01(\x0e\x32\x17.gooseai.ColorMatchModeH\x06\x88\x01\x01\x12\x19\n\x0cnoise_amount\x18\x08 \x01(\x02H\x07\x88\x01\x01\x12\x17\n\nnoise_seed\x18\t \x01(\rH\x08\x88\x01\x01\x42\r\n\x0b_brightnessB\x0b\n\t_contrastB\x06\n\x04_hueB\r\n\x0b_saturationB\x0c\n\n_lightnessB\x0e\n\x0c_match_imageB\r\n\x0b_match_modeB\x0f\n\r_noise_amountB\r\n\x0b_noise_seed\"\x8c\x01\n\x12TransformDepthCalc\x12\x19\n\x0c\x62lend_weight\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x18\n\x0b\x62lur_radius\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07reverse\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x0f\n\r_blend_weightB\x0e\n\x0c_blur_radiusB\n\n\x08_reverse\"#\n\x0fTransformMatrix\x12\x10\n\x04\x64\x61ta\x18\x01 \x03(\x02\x42\x02\x10\x01\"\x86\x02\n\x11TransformResample\x12(\n\x0b\x62order_mode\x18\x01 \x01(\x0e\x32\x13.gooseai.BorderMode\x12+\n\ttransform\x18\x02 \x01(\x0b\x32\x18.gooseai.TransformMatrix\x12\x35\n\x0eprev_transform\x18\x03 \x01(\x0b\x32\x18.gooseai.TransformMatrixH\x00\x88\x01\x01\x12\x17\n\ndepth_warp\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x18\n\x0b\x65xport_mask\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x11\n\x0f_prev_transformB\r\n\x0b_depth_warpB\x0e\n\x0c_export_mask\"F\n\x1aPointCloudRenderParameters\x12\x0e\n\x06radius\x18\x01 \x01(\x02\x12\x18\n\x10points_per_pixel\x18\x02 \x01(\r\"-\n\x14MeshRenderParameters\x12\x15\n\rmax_mesh_edge\x18\x01 \x01(\x02\"\xa7\x01\n\x10RenderParameters\x12\x44\n\x15pointcloud_parameters\x18\x01 \x01(\x0b\x32#.gooseai.PointCloudRenderParametersH\x00\x12\x38\n\x0fmesh_parameters\x18\x02 \x01(\x0b\x32\x1d.gooseai.MeshRenderParametersH\x00\x42\x13\n\x11render_parameters\"}\n\x10\x43\x61meraParameters\x12(\n\x0b\x63\x61mera_type\x18\x01 \x01(\x0e\x32\x13.gooseai.CameraType\x12\x12\n\nnear_plane\x18\x02 \x01(\x02\x12\x11\n\tfar_plane\x18\x03 \x01(\x02\x12\x10\n\x03\x66ov\x18\x04 \x01(\x02H\x00\x88\x01\x01\x42\x06\n\x04_fov\"\x8e\x02\n\x13TransformCameraPose\x12\x36\n\x14world_to_view_matrix\x18\x01 \x01(\x0b\x32\x18.gooseai.TransformMatrix\x12\x34\n\x11\x63\x61mera_parameters\x18\x02 \x01(\x0b\x32\x19.gooseai.CameraParameters\x12:\n\x17image_render_parameters\x18\x03 \x01(\x0b\x32\x19.gooseai.RenderParameters\x12\x39\n\x16mask_render_parameters\x18\x04 \x01(\x0b\x32\x19.gooseai.RenderParameters\x12\x12\n\ndo_prefill\x18\x05 \x01(\x08\"\xf1\x01\n\x13TransformParameters\x12\x35\n\x0c\x63olor_adjust\x18\x02 \x01(\x0b\x32\x1d.gooseai.TransformColorAdjustH\x00\x12\x31\n\ndepth_calc\x18\x04 \x01(\x0b\x32\x1b.gooseai.TransformDepthCalcH\x00\x12.\n\x08resample\x18\x05 \x01(\x0b\x32\x1a.gooseai.TransformResampleH\x00\x12\x33\n\x0b\x63\x61mera_pose\x18\x06 \x01(\x0b\x32\x1c.gooseai.TransformCameraPoseH\x00\x42\x0b\n\ttransform\"k\n\x0f\x41ssetParameters\x12$\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x14.gooseai.AssetAction\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x1e\n\x03use\x18\x03 \x01(\x0e\x32\x11.gooseai.AssetUse\"\x94\x01\n\nAnswerMeta\x12\x13\n\x06gpu_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x63pu_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07node_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x16\n\tengine_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_gpu_idB\t\n\x07_cpu_idB\n\n\x08_node_idB\x0c\n\n_engine_id\"\xa9\x01\n\x06\x41nswer\x12\x11\n\tanswer_id\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x02 \x01(\t\x12\x10\n\x08received\x18\x03 \x01(\x04\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x04\x12&\n\x04meta\x18\x06 \x01(\x0b\x32\x13.gooseai.AnswerMetaH\x00\x88\x01\x01\x12$\n\tartifacts\x18\x07 \x03(\x0b\x32\x11.gooseai.ArtifactB\x07\n\x05_meta\"A\n\x0b\x41nswerBatch\x12\x10\n\x08\x62\x61tch_id\x18\x01 \x01(\t\x12 \n\x07\x61nswers\x18\x02 \x03(\x0b\x32\x0f.gooseai.Answer\"\x8f\x04\n\x07Request\x12\x11\n\tengine_id\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x02 \x01(\t\x12-\n\x0erequested_type\x18\x03 \x01(\x0e\x32\x15.gooseai.ArtifactType\x12\x1f\n\x06prompt\x18\x04 \x03(\x0b\x32\x0f.gooseai.Prompt\x12)\n\x05image\x18\x05 \x01(\x0b\x32\x18.gooseai.ImageParametersH\x00\x12\x33\n\nclassifier\x18\x07 \x01(\x0b\x32\x1d.gooseai.ClassifierParametersH\x00\x12)\n\x05\x61sset\x18\x08 \x01(\x0b\x32\x18.gooseai.AssetParametersH\x00\x12\x35\n\x0binterpolate\x18\x0b \x01(\x0b\x32\x1e.gooseai.InterpolateParametersH\x00\x12\x31\n\ttransform\x18\x0c \x01(\x0b\x32\x1c.gooseai.TransformParametersH\x00\x12\x38\n\x0b\x63onditioner\x18\x06 \x01(\x0b\x32\x1e.gooseai.ConditionerParametersH\x01\x88\x01\x01\x12-\n\x06\x65xtras\x18\xff\x0f \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x42\x08\n\x06paramsB\x0e\n\x0c_conditionerB\t\n\x07_extrasJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"w\n\x08OnStatus\x12%\n\x06reason\x18\x01 \x03(\x0e\x32\x15.gooseai.FinishReason\x12\x13\n\x06target\x18\x02 \x01(\tH\x00\x88\x01\x01\x12$\n\x06\x61\x63tion\x18\x03 \x03(\x0e\x32\x14.gooseai.StageActionB\t\n\x07_target\"\\\n\x05Stage\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07request\x18\x02 \x01(\x0b\x32\x10.gooseai.Request\x12$\n\ton_status\x18\x03 \x03(\x0b\x32\x11.gooseai.OnStatus\"A\n\x0c\x43hainRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x1d\n\x05stage\x18\x02 \x03(\x0b\x32\x0e.gooseai.Stage*E\n\x0c\x46inishReason\x12\x08\n\x04NULL\x10\x00\x12\n\n\x06LENGTH\x10\x01\x12\x08\n\x04STOP\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x12\n\n\x06\x46ILTER\x10\x04*\xf8\x01\n\x0c\x41rtifactType\x12\x11\n\rARTIFACT_NONE\x10\x00\x12\x12\n\x0e\x41RTIFACT_IMAGE\x10\x01\x12\x12\n\x0e\x41RTIFACT_VIDEO\x10\x02\x12\x11\n\rARTIFACT_TEXT\x10\x03\x12\x13\n\x0f\x41RTIFACT_TOKENS\x10\x04\x12\x16\n\x12\x41RTIFACT_EMBEDDING\x10\x05\x12\x1c\n\x18\x41RTIFACT_CLASSIFICATIONS\x10\x06\x12\x11\n\rARTIFACT_MASK\x10\x07\x12\x13\n\x0f\x41RTIFACT_LATENT\x10\x08\x12\x13\n\x0f\x41RTIFACT_TENSOR\x10\t\x12\x12\n\x0e\x41RTIFACT_DEPTH\x10\n*g\n\x0eMaskedAreaInit\x12\x19\n\x15MASKED_AREA_INIT_ZERO\x10\x00\x12\x1b\n\x17MASKED_AREA_INIT_RANDOM\x10\x01\x12\x1d\n\x19MASKED_AREA_INIT_ORIGINAL\x10\x02*5\n\x0cWeightMethod\x12\x10\n\x0cTEXT_ENCODER\x10\x00\x12\x13\n\x0f\x43ROSS_ATTENTION\x10\x01*\x98\x02\n\x10\x44iffusionSampler\x12\x10\n\x0cSAMPLER_DDIM\x10\x00\x12\x10\n\x0cSAMPLER_DDPM\x10\x01\x12\x13\n\x0fSAMPLER_K_EULER\x10\x02\x12\x1d\n\x19SAMPLER_K_EULER_ANCESTRAL\x10\x03\x12\x12\n\x0eSAMPLER_K_HEUN\x10\x04\x12\x13\n\x0fSAMPLER_K_DPM_2\x10\x05\x12\x1d\n\x19SAMPLER_K_DPM_2_ANCESTRAL\x10\x06\x12\x11\n\rSAMPLER_K_LMS\x10\x07\x12 \n\x1cSAMPLER_K_DPMPP_2S_ANCESTRAL\x10\x08\x12\x16\n\x12SAMPLER_K_DPMPP_2M\x10\t\x12\x17\n\x13SAMPLER_K_DPMPP_SDE\x10\n*F\n\x08Upscaler\x12\x10\n\x0cUPSCALER_RGB\x10\x00\x12\x13\n\x0fUPSCALER_GFPGAN\x10\x01\x12\x13\n\x0fUPSCALER_ESRGAN\x10\x02*\xd8\x01\n\x0eGuidancePreset\x12\x18\n\x14GUIDANCE_PRESET_NONE\x10\x00\x12\x1a\n\x16GUIDANCE_PRESET_SIMPLE\x10\x01\x12\x1d\n\x19GUIDANCE_PRESET_FAST_BLUE\x10\x02\x12\x1e\n\x1aGUIDANCE_PRESET_FAST_GREEN\x10\x03\x12\x18\n\x14GUIDANCE_PRESET_SLOW\x10\x04\x12\x1a\n\x16GUIDANCE_PRESET_SLOWER\x10\x05\x12\x1b\n\x17GUIDANCE_PRESET_SLOWEST\x10\x06*\x91\x01\n\x11ModelArchitecture\x12\x1b\n\x17MODEL_ARCHITECTURE_NONE\x10\x00\x12\x1f\n\x1bMODEL_ARCHITECTURE_CLIP_VIT\x10\x01\x12\"\n\x1eMODEL_ARCHITECTURE_CLIP_RESNET\x10\x02\x12\x1a\n\x16MODEL_ARCHITECTURE_LDM\x10\x03*\xa2\x01\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_PASSTHROUGH\x10\x00\x12\x1f\n\x1b\x41\x43TION_REGENERATE_DUPLICATE\x10\x01\x12\x15\n\x11\x41\x43TION_REGENERATE\x10\x02\x12\x1e\n\x1a\x41\x43TION_OBFUSCATE_DUPLICATE\x10\x03\x12\x14\n\x10\x41\x43TION_OBFUSCATE\x10\x04\x12\x12\n\x0e\x41\x43TION_DISCARD\x10\x05*D\n\x0e\x43lassifierMode\x12\x17\n\x13\x43LSFR_MODE_ZEROSHOT\x10\x00\x12\x19\n\x15\x43LSFR_MODE_MULTICLASS\x10\x01*\x8c\x01\n\x0fInterpolateMode\x12\x16\n\x12INTERPOLATE_LINEAR\x10\x00\x12\x14\n\x10INTERPOLATE_RIFE\x10\x01\x12\x1a\n\x16INTERPOLATE_VAE_LINEAR\x10\x02\x12\x19\n\x15INTERPOLATE_VAE_SLERP\x10\x03\x12\x14\n\x10INTERPOLATE_FILM\x10\x04*l\n\nBorderMode\x12\x12\n\x0e\x42ORDER_REFLECT\x10\x00\x12\x14\n\x10\x42ORDER_REPLICATE\x10\x01\x12\x0f\n\x0b\x42ORDER_WRAP\x10\x02\x12\x0f\n\x0b\x42ORDER_ZERO\x10\x03\x12\x12\n\x0e\x42ORDER_PREFILL\x10\x04*O\n\x0e\x43olorMatchMode\x12\x13\n\x0f\x43OLOR_MATCH_HSV\x10\x00\x12\x13\n\x0f\x43OLOR_MATCH_LAB\x10\x01\x12\x13\n\x0f\x43OLOR_MATCH_RGB\x10\x02*=\n\nCameraType\x12\x16\n\x12\x43\x41MERA_PERSPECTIVE\x10\x00\x12\x17\n\x13\x43\x41MERA_ORTHOGRAPHIC\x10\x01*=\n\x0b\x41ssetAction\x12\r\n\tASSET_PUT\x10\x00\x12\r\n\tASSET_GET\x10\x01\x12\x10\n\x0c\x41SSET_DELETE\x10\x02*\x81\x01\n\x08\x41ssetUse\x12\x17\n\x13\x41SSET_USE_UNDEFINED\x10\x00\x12\x13\n\x0f\x41SSET_USE_INPUT\x10\x01\x12\x14\n\x10\x41SSET_USE_OUTPUT\x10\x02\x12\x1a\n\x16\x41SSET_USE_INTERMEDIATE\x10\x03\x12\x15\n\x11\x41SSET_USE_PROJECT\x10\x04*W\n\x0bStageAction\x12\x15\n\x11STAGE_ACTION_PASS\x10\x00\x12\x18\n\x14STAGE_ACTION_DISCARD\x10\x01\x12\x17\n\x13STAGE_ACTION_RETURN\x10\x02\x32\x83\x01\n\x11GenerationService\x12\x31\n\x08Generate\x12\x10.gooseai.Request\x1a\x0f.gooseai.Answer\"\x00\x30\x01\x12;\n\rChainGenerate\x12\x15.gooseai.ChainRequest\x1a\x0f.gooseai.Answer\"\x00\x30\x01\x42;Z9github.com/stability-ai/api-interfaces/gooseai/generationb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10generation.proto\x12\x07gooseai\x1a\x1cgoogle/protobuf/struct.proto\x1a\rtensors.proto\"/\n\x05Token\x12\x11\n\x04text\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\n\n\x02id\x18\x02 \x01(\rB\x07\n\x05_text\"T\n\x06Tokens\x12\x1e\n\x06tokens\x18\x01 \x03(\x0b\x32\x0e.gooseai.Token\x12\x19\n\x0ctokenizer_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_tokenizer_id\"\xf3\x02\n\x08\x41rtifact\x12\n\n\x02id\x18\x01 \x01(\x04\x12#\n\x04type\x18\x02 \x01(\x0e\x32\x15.gooseai.ArtifactType\x12\x0c\n\x04mime\x18\x03 \x01(\t\x12\x12\n\x05magic\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x06\x62inary\x18\x05 \x01(\x0cH\x00\x12\x0e\n\x04text\x18\x06 \x01(\tH\x00\x12!\n\x06tokens\x18\x07 \x01(\x0b\x32\x0f.gooseai.TokensH\x00\x12\x33\n\nclassifier\x18\x0b \x01(\x0b\x32\x1d.gooseai.ClassifierParametersH\x00\x12!\n\x06tensor\x18\x0e \x01(\x0b\x32\x0f.tensors.TensorH\x00\x12\r\n\x05index\x18\x08 \x01(\r\x12,\n\rfinish_reason\x18\t \x01(\x0e\x32\x15.gooseai.FinishReason\x12\x0c\n\x04seed\x18\n \x01(\r\x12\x0c\n\x04uuid\x18\x0c \x01(\t\x12\x0c\n\x04size\x18\r \x01(\x04\x42\x06\n\x04\x64\x61taB\x08\n\x06_magic\"N\n\x10PromptParameters\x12\x11\n\x04init\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x07\n\x05_initB\t\n\x07_weight\"\xaf\x01\n\x06Prompt\x12\x32\n\nparameters\x18\x01 \x01(\x0b\x32\x19.gooseai.PromptParametersH\x01\x88\x01\x01\x12\x0e\n\x04text\x18\x02 \x01(\tH\x00\x12!\n\x06tokens\x18\x03 \x01(\x0b\x32\x0f.gooseai.TokensH\x00\x12%\n\x08\x61rtifact\x18\x04 \x01(\x0b\x32\x11.gooseai.ArtifactH\x00\x42\x08\n\x06promptB\r\n\x0b_parameters\"\xd7\x02\n\x11SamplerParameters\x12\x10\n\x03\x65ta\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0esampling_steps\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1c\n\x0flatent_channels\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12 \n\x13\x64ownsampling_factor\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x16\n\tcfg_scale\x18\x05 \x01(\x02H\x04\x88\x01\x01\x12\x1d\n\x10init_noise_scale\x18\x06 \x01(\x02H\x05\x88\x01\x01\x12\x1d\n\x10step_noise_scale\x18\x07 \x01(\x02H\x06\x88\x01\x01\x42\x06\n\x04_etaB\x11\n\x0f_sampling_stepsB\x12\n\x10_latent_channelsB\x16\n\x14_downsampling_factorB\x0c\n\n_cfg_scaleB\x13\n\x11_init_noise_scaleB\x13\n\x11_step_noise_scale\"\x8b\x01\n\x15\x43onditionerParameters\x12 \n\x13vector_adjust_prior\x18\x01 \x01(\tH\x00\x88\x01\x01\x12(\n\x0b\x63onditioner\x18\x02 \x01(\x0b\x32\x0e.gooseai.ModelH\x01\x88\x01\x01\x42\x16\n\x14_vector_adjust_priorB\x0e\n\x0c_conditioner\"j\n\x12ScheduleParameters\x12\x12\n\x05start\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\x05value\x18\x03 \x01(\x02H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\x08\n\x06_value\"\xe4\x01\n\rStepParameter\x12\x13\n\x0bscaled_step\x18\x01 \x01(\x02\x12\x30\n\x07sampler\x18\x02 \x01(\x0b\x32\x1a.gooseai.SamplerParametersH\x00\x88\x01\x01\x12\x32\n\x08schedule\x18\x03 \x01(\x0b\x32\x1b.gooseai.ScheduleParametersH\x01\x88\x01\x01\x12\x32\n\x08guidance\x18\x04 \x01(\x0b\x32\x1b.gooseai.GuidanceParametersH\x02\x88\x01\x01\x42\n\n\x08_samplerB\x0b\n\t_scheduleB\x0b\n\t_guidance\"\x97\x01\n\x05Model\x12\x30\n\x0c\x61rchitecture\x18\x01 \x01(\x0e\x32\x1a.gooseai.ModelArchitecture\x12\x11\n\tpublisher\x18\x02 \x01(\t\x12\x0f\n\x07\x64\x61taset\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\x02\x12\x18\n\x10semantic_version\x18\x05 \x01(\t\x12\r\n\x05\x61lias\x18\x06 \x01(\t\"\xbc\x01\n\x10\x43utoutParameters\x12*\n\x07\x63utouts\x18\x01 \x03(\x0b\x32\x19.gooseai.CutoutParameters\x12\x12\n\x05\x63ount\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04gray\x18\x03 \x01(\x02H\x01\x88\x01\x01\x12\x11\n\x04\x62lur\x18\x04 \x01(\x02H\x02\x88\x01\x01\x12\x17\n\nsize_power\x18\x05 \x01(\x02H\x03\x88\x01\x01\x42\x08\n\x06_countB\x07\n\x05_grayB\x07\n\x05_blurB\r\n\x0b_size_power\"=\n\x1aGuidanceScheduleParameters\x12\x10\n\x08\x64uration\x18\x01 \x01(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"\x97\x02\n\x1aGuidanceInstanceParameters\x12\x1e\n\x06models\x18\x02 \x03(\x0b\x32\x0e.gooseai.Model\x12\x1e\n\x11guidance_strength\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x35\n\x08schedule\x18\x04 \x03(\x0b\x32#.gooseai.GuidanceScheduleParameters\x12/\n\x07\x63utouts\x18\x05 \x01(\x0b\x32\x19.gooseai.CutoutParametersH\x01\x88\x01\x01\x12$\n\x06prompt\x18\x06 \x01(\x0b\x32\x0f.gooseai.PromptH\x02\x88\x01\x01\x42\x14\n\x12_guidance_strengthB\n\n\x08_cutoutsB\t\n\x07_prompt\"~\n\x12GuidanceParameters\x12\x30\n\x0fguidance_preset\x18\x01 \x01(\x0e\x32\x17.gooseai.GuidancePreset\x12\x36\n\tinstances\x18\x02 \x03(\x0b\x32#.gooseai.GuidanceInstanceParameters\"n\n\rTransformType\x12.\n\tdiffusion\x18\x01 \x01(\x0e\x32\x19.gooseai.DiffusionSamplerH\x00\x12%\n\x08upscaler\x18\x02 \x01(\x0e\x32\x11.gooseai.UpscalerH\x00\x42\x06\n\x04type\"\xbd\x03\n\x0fImageParameters\x12\x13\n\x06height\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\x05width\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x0c\n\x04seed\x18\x03 \x03(\r\x12\x14\n\x07samples\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05steps\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12.\n\ttransform\x18\x06 \x01(\x0b\x32\x16.gooseai.TransformTypeH\x04\x88\x01\x01\x12*\n\nparameters\x18\x07 \x03(\x0b\x32\x16.gooseai.StepParameter\x12\x36\n\x10masked_area_init\x18\x08 \x01(\x0e\x32\x17.gooseai.MaskedAreaInitH\x05\x88\x01\x01\x12\x31\n\rweight_method\x18\t \x01(\x0e\x32\x15.gooseai.WeightMethodH\x06\x88\x01\x01\x12\x15\n\x08quantize\x18\n \x01(\x08H\x07\x88\x01\x01\x42\t\n\x07_heightB\x08\n\x06_widthB\n\n\x08_samplesB\x08\n\x06_stepsB\x0c\n\n_transformB\x13\n\x11_masked_area_initB\x10\n\x0e_weight_methodB\x0b\n\t_quantize\"J\n\x11\x43lassifierConcept\x12\x0f\n\x07\x63oncept\x18\x01 \x01(\t\x12\x16\n\tthreshold\x18\x02 \x01(\x02H\x00\x88\x01\x01\x42\x0c\n\n_threshold\"\xf4\x01\n\x12\x43lassifierCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x08\x63oncepts\x18\x02 \x03(\x0b\x32\x1a.gooseai.ClassifierConcept\x12\x17\n\nadjustment\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12$\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x0f.gooseai.ActionH\x01\x88\x01\x01\x12\x35\n\x0f\x63lassifier_mode\x18\x05 \x01(\x0e\x32\x17.gooseai.ClassifierModeH\x02\x88\x01\x01\x42\r\n\x0b_adjustmentB\t\n\x07_actionB\x12\n\x10_classifier_mode\"\xb8\x01\n\x14\x43lassifierParameters\x12/\n\ncategories\x18\x01 \x03(\x0b\x32\x1b.gooseai.ClassifierCategory\x12,\n\x07\x65xceeds\x18\x02 \x03(\x0b\x32\x1b.gooseai.ClassifierCategory\x12-\n\x0frealized_action\x18\x03 \x01(\x0e\x32\x0f.gooseai.ActionH\x00\x88\x01\x01\x42\x12\n\x10_realized_action\"]\n\x15InterpolateParameters\x12\x0e\n\x06ratios\x18\x01 \x03(\x02\x12+\n\x04mode\x18\x02 \x01(\x0e\x32\x18.gooseai.InterpolateModeH\x00\x88\x01\x01\x42\x07\n\x05_mode\"\x9c\x03\n\x14TransformColorAdjust\x12\x17\n\nbrightness\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x15\n\x08\x63ontrast\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x10\n\x03hue\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x17\n\nsaturation\x18\x04 \x01(\x02H\x03\x88\x01\x01\x12\x16\n\tlightness\x18\x05 \x01(\x02H\x04\x88\x01\x01\x12+\n\x0bmatch_image\x18\x06 \x01(\x0b\x32\x11.gooseai.ArtifactH\x05\x88\x01\x01\x12\x30\n\nmatch_mode\x18\x07 \x01(\x0e\x32\x17.gooseai.ColorMatchModeH\x06\x88\x01\x01\x12\x19\n\x0cnoise_amount\x18\x08 \x01(\x02H\x07\x88\x01\x01\x12\x17\n\nnoise_seed\x18\t \x01(\rH\x08\x88\x01\x01\x42\r\n\x0b_brightnessB\x0b\n\t_contrastB\x06\n\x04_hueB\r\n\x0b_saturationB\x0c\n\n_lightnessB\x0e\n\x0c_match_imageB\r\n\x0b_match_modeB\x0f\n\r_noise_amountB\r\n\x0b_noise_seed\"\x8c\x01\n\x12TransformDepthCalc\x12\x19\n\x0c\x62lend_weight\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x18\n\x0b\x62lur_radius\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07reverse\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x0f\n\r_blend_weightB\x0e\n\x0c_blur_radiusB\n\n\x08_reverse\"#\n\x0fTransformMatrix\x12\x10\n\x04\x64\x61ta\x18\x01 \x03(\x02\x42\x02\x10\x01\"\x86\x02\n\x11TransformResample\x12(\n\x0b\x62order_mode\x18\x01 \x01(\x0e\x32\x13.gooseai.BorderMode\x12+\n\ttransform\x18\x02 \x01(\x0b\x32\x18.gooseai.TransformMatrix\x12\x35\n\x0eprev_transform\x18\x03 \x01(\x0b\x32\x18.gooseai.TransformMatrixH\x00\x88\x01\x01\x12\x17\n\ndepth_warp\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x18\n\x0b\x65xport_mask\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x11\n\x0f_prev_transformB\r\n\x0b_depth_warpB\x0e\n\x0c_export_mask\"F\n\x1aPointCloudRenderParameters\x12\x0e\n\x06radius\x18\x01 \x01(\x02\x12\x18\n\x10points_per_pixel\x18\x02 \x01(\r\"-\n\x14MeshRenderParameters\x12\x15\n\rmax_mesh_edge\x18\x01 \x01(\x02\"\xa7\x01\n\x10RenderParameters\x12\x44\n\x15pointcloud_parameters\x18\x01 \x01(\x0b\x32#.gooseai.PointCloudRenderParametersH\x00\x12\x38\n\x0fmesh_parameters\x18\x02 \x01(\x0b\x32\x1d.gooseai.MeshRenderParametersH\x00\x42\x13\n\x11render_parameters\"}\n\x10\x43\x61meraParameters\x12(\n\x0b\x63\x61mera_type\x18\x01 \x01(\x0e\x32\x13.gooseai.CameraType\x12\x12\n\nnear_plane\x18\x02 \x01(\x02\x12\x11\n\tfar_plane\x18\x03 \x01(\x02\x12\x10\n\x03\x66ov\x18\x04 \x01(\x02H\x00\x88\x01\x01\x42\x06\n\x04_fov\"\x8e\x02\n\x13TransformCameraPose\x12\x36\n\x14world_to_view_matrix\x18\x01 \x01(\x0b\x32\x18.gooseai.TransformMatrix\x12\x34\n\x11\x63\x61mera_parameters\x18\x02 \x01(\x0b\x32\x19.gooseai.CameraParameters\x12:\n\x17image_render_parameters\x18\x03 \x01(\x0b\x32\x19.gooseai.RenderParameters\x12\x39\n\x16mask_render_parameters\x18\x04 \x01(\x0b\x32\x19.gooseai.RenderParameters\x12\x12\n\ndo_prefill\x18\x05 \x01(\x08\"\xf1\x01\n\x13TransformParameters\x12\x35\n\x0c\x63olor_adjust\x18\x02 \x01(\x0b\x32\x1d.gooseai.TransformColorAdjustH\x00\x12\x31\n\ndepth_calc\x18\x04 \x01(\x0b\x32\x1b.gooseai.TransformDepthCalcH\x00\x12.\n\x08resample\x18\x05 \x01(\x0b\x32\x1a.gooseai.TransformResampleH\x00\x12\x33\n\x0b\x63\x61mera_pose\x18\x06 \x01(\x0b\x32\x1c.gooseai.TransformCameraPoseH\x00\x42\x0b\n\ttransform\"k\n\x0f\x41ssetParameters\x12$\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x14.gooseai.AssetAction\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x1e\n\x03use\x18\x03 \x01(\x0e\x32\x11.gooseai.AssetUse\"\x94\x01\n\nAnswerMeta\x12\x13\n\x06gpu_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x63pu_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07node_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x16\n\tengine_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_gpu_idB\t\n\x07_cpu_idB\n\n\x08_node_idB\x0c\n\n_engine_id\"\xa9\x01\n\x06\x41nswer\x12\x11\n\tanswer_id\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x02 \x01(\t\x12\x10\n\x08received\x18\x03 \x01(\x04\x12\x0f\n\x07\x63reated\x18\x04 \x01(\x04\x12&\n\x04meta\x18\x06 \x01(\x0b\x32\x13.gooseai.AnswerMetaH\x00\x88\x01\x01\x12$\n\tartifacts\x18\x07 \x03(\x0b\x32\x11.gooseai.ArtifactB\x07\n\x05_meta\"A\n\x0b\x41nswerBatch\x12\x10\n\x08\x62\x61tch_id\x18\x01 \x01(\t\x12 \n\x07\x61nswers\x18\x02 \x03(\x0b\x32\x0f.gooseai.Answer\"\x8f\x04\n\x07Request\x12\x11\n\tengine_id\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x02 \x01(\t\x12-\n\x0erequested_type\x18\x03 \x01(\x0e\x32\x15.gooseai.ArtifactType\x12\x1f\n\x06prompt\x18\x04 \x03(\x0b\x32\x0f.gooseai.Prompt\x12)\n\x05image\x18\x05 \x01(\x0b\x32\x18.gooseai.ImageParametersH\x00\x12\x33\n\nclassifier\x18\x07 \x01(\x0b\x32\x1d.gooseai.ClassifierParametersH\x00\x12)\n\x05\x61sset\x18\x08 \x01(\x0b\x32\x18.gooseai.AssetParametersH\x00\x12\x35\n\x0binterpolate\x18\x0b \x01(\x0b\x32\x1e.gooseai.InterpolateParametersH\x00\x12\x31\n\ttransform\x18\x0c \x01(\x0b\x32\x1c.gooseai.TransformParametersH\x00\x12\x38\n\x0b\x63onditioner\x18\x06 \x01(\x0b\x32\x1e.gooseai.ConditionerParametersH\x01\x88\x01\x01\x12-\n\x06\x65xtras\x18\xff\x0f \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x42\x08\n\x06paramsB\x0e\n\x0c_conditionerB\t\n\x07_extrasJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"w\n\x08OnStatus\x12%\n\x06reason\x18\x01 \x03(\x0e\x32\x15.gooseai.FinishReason\x12\x13\n\x06target\x18\x02 \x01(\tH\x00\x88\x01\x01\x12$\n\x06\x61\x63tion\x18\x03 \x03(\x0e\x32\x14.gooseai.StageActionB\t\n\x07_target\"\\\n\x05Stage\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07request\x18\x02 \x01(\x0b\x32\x10.gooseai.Request\x12$\n\ton_status\x18\x03 \x03(\x0b\x32\x11.gooseai.OnStatus\"A\n\x0c\x43hainRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x1d\n\x05stage\x18\x02 \x03(\x0b\x32\x0e.gooseai.Stage\"I\n\x0c\x42\x61tchRequest\x12\x10\n\x08\x62\x61tch_id\x18\x01 \x01(\t\x12\'\n\x08requests\x18\x02 \x03(\x0b\x32\x15.gooseai.ChainRequest*E\n\x0c\x46inishReason\x12\x08\n\x04NULL\x10\x00\x12\n\n\x06LENGTH\x10\x01\x12\x08\n\x04STOP\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x12\n\n\x06\x46ILTER\x10\x04*\xf8\x01\n\x0c\x41rtifactType\x12\x11\n\rARTIFACT_NONE\x10\x00\x12\x12\n\x0e\x41RTIFACT_IMAGE\x10\x01\x12\x12\n\x0e\x41RTIFACT_VIDEO\x10\x02\x12\x11\n\rARTIFACT_TEXT\x10\x03\x12\x13\n\x0f\x41RTIFACT_TOKENS\x10\x04\x12\x16\n\x12\x41RTIFACT_EMBEDDING\x10\x05\x12\x1c\n\x18\x41RTIFACT_CLASSIFICATIONS\x10\x06\x12\x11\n\rARTIFACT_MASK\x10\x07\x12\x13\n\x0f\x41RTIFACT_LATENT\x10\x08\x12\x13\n\x0f\x41RTIFACT_TENSOR\x10\t\x12\x12\n\x0e\x41RTIFACT_DEPTH\x10\n*g\n\x0eMaskedAreaInit\x12\x19\n\x15MASKED_AREA_INIT_ZERO\x10\x00\x12\x1b\n\x17MASKED_AREA_INIT_RANDOM\x10\x01\x12\x1d\n\x19MASKED_AREA_INIT_ORIGINAL\x10\x02*5\n\x0cWeightMethod\x12\x10\n\x0cTEXT_ENCODER\x10\x00\x12\x13\n\x0f\x43ROSS_ATTENTION\x10\x01*\x98\x02\n\x10\x44iffusionSampler\x12\x10\n\x0cSAMPLER_DDIM\x10\x00\x12\x10\n\x0cSAMPLER_DDPM\x10\x01\x12\x13\n\x0fSAMPLER_K_EULER\x10\x02\x12\x1d\n\x19SAMPLER_K_EULER_ANCESTRAL\x10\x03\x12\x12\n\x0eSAMPLER_K_HEUN\x10\x04\x12\x13\n\x0fSAMPLER_K_DPM_2\x10\x05\x12\x1d\n\x19SAMPLER_K_DPM_2_ANCESTRAL\x10\x06\x12\x11\n\rSAMPLER_K_LMS\x10\x07\x12 \n\x1cSAMPLER_K_DPMPP_2S_ANCESTRAL\x10\x08\x12\x16\n\x12SAMPLER_K_DPMPP_2M\x10\t\x12\x17\n\x13SAMPLER_K_DPMPP_SDE\x10\n*F\n\x08Upscaler\x12\x10\n\x0cUPSCALER_RGB\x10\x00\x12\x13\n\x0fUPSCALER_GFPGAN\x10\x01\x12\x13\n\x0fUPSCALER_ESRGAN\x10\x02*\xd8\x01\n\x0eGuidancePreset\x12\x18\n\x14GUIDANCE_PRESET_NONE\x10\x00\x12\x1a\n\x16GUIDANCE_PRESET_SIMPLE\x10\x01\x12\x1d\n\x19GUIDANCE_PRESET_FAST_BLUE\x10\x02\x12\x1e\n\x1aGUIDANCE_PRESET_FAST_GREEN\x10\x03\x12\x18\n\x14GUIDANCE_PRESET_SLOW\x10\x04\x12\x1a\n\x16GUIDANCE_PRESET_SLOWER\x10\x05\x12\x1b\n\x17GUIDANCE_PRESET_SLOWEST\x10\x06*\x91\x01\n\x11ModelArchitecture\x12\x1b\n\x17MODEL_ARCHITECTURE_NONE\x10\x00\x12\x1f\n\x1bMODEL_ARCHITECTURE_CLIP_VIT\x10\x01\x12\"\n\x1eMODEL_ARCHITECTURE_CLIP_RESNET\x10\x02\x12\x1a\n\x16MODEL_ARCHITECTURE_LDM\x10\x03*\xa2\x01\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_PASSTHROUGH\x10\x00\x12\x1f\n\x1b\x41\x43TION_REGENERATE_DUPLICATE\x10\x01\x12\x15\n\x11\x41\x43TION_REGENERATE\x10\x02\x12\x1e\n\x1a\x41\x43TION_OBFUSCATE_DUPLICATE\x10\x03\x12\x14\n\x10\x41\x43TION_OBFUSCATE\x10\x04\x12\x12\n\x0e\x41\x43TION_DISCARD\x10\x05*D\n\x0e\x43lassifierMode\x12\x17\n\x13\x43LSFR_MODE_ZEROSHOT\x10\x00\x12\x19\n\x15\x43LSFR_MODE_MULTICLASS\x10\x01*\x8c\x01\n\x0fInterpolateMode\x12\x16\n\x12INTERPOLATE_LINEAR\x10\x00\x12\x14\n\x10INTERPOLATE_RIFE\x10\x01\x12\x1a\n\x16INTERPOLATE_VAE_LINEAR\x10\x02\x12\x19\n\x15INTERPOLATE_VAE_SLERP\x10\x03\x12\x14\n\x10INTERPOLATE_FILM\x10\x04*l\n\nBorderMode\x12\x12\n\x0e\x42ORDER_REFLECT\x10\x00\x12\x14\n\x10\x42ORDER_REPLICATE\x10\x01\x12\x0f\n\x0b\x42ORDER_WRAP\x10\x02\x12\x0f\n\x0b\x42ORDER_ZERO\x10\x03\x12\x12\n\x0e\x42ORDER_PREFILL\x10\x04*O\n\x0e\x43olorMatchMode\x12\x13\n\x0f\x43OLOR_MATCH_HSV\x10\x00\x12\x13\n\x0f\x43OLOR_MATCH_LAB\x10\x01\x12\x13\n\x0f\x43OLOR_MATCH_RGB\x10\x02*=\n\nCameraType\x12\x16\n\x12\x43\x41MERA_PERSPECTIVE\x10\x00\x12\x17\n\x13\x43\x41MERA_ORTHOGRAPHIC\x10\x01*=\n\x0b\x41ssetAction\x12\r\n\tASSET_PUT\x10\x00\x12\r\n\tASSET_GET\x10\x01\x12\x10\n\x0c\x41SSET_DELETE\x10\x02*\x81\x01\n\x08\x41ssetUse\x12\x17\n\x13\x41SSET_USE_UNDEFINED\x10\x00\x12\x13\n\x0f\x41SSET_USE_INPUT\x10\x01\x12\x14\n\x10\x41SSET_USE_OUTPUT\x10\x02\x12\x1a\n\x16\x41SSET_USE_INTERMEDIATE\x10\x03\x12\x15\n\x11\x41SSET_USE_PROJECT\x10\x04*W\n\x0bStageAction\x12\x15\n\x11STAGE_ACTION_PASS\x10\x00\x12\x18\n\x14STAGE_ACTION_DISCARD\x10\x01\x12\x17\n\x13STAGE_ACTION_RETURN\x10\x02\x32\xc3\x01\n\x11GenerationService\x12\x31\n\x08Generate\x12\x10.gooseai.Request\x1a\x0f.gooseai.Answer\"\x00\x30\x01\x12;\n\rChainGenerate\x12\x15.gooseai.ChainRequest\x1a\x0f.gooseai.Answer\"\x00\x30\x01\x12>\n\rBatchGenerate\x12\x15.gooseai.BatchRequest\x1a\x14.gooseai.AnswerBatch\"\x00\x42;Z9github.com/stability-ai/api-interfaces/gooseai/generationb\x06proto3') _FINISHREASON = DESCRIPTOR.enum_types_by_name['FinishReason'] FinishReason = enum_type_wrapper.EnumTypeWrapper(_FINISHREASON) @@ -173,6 +173,7 @@ _ONSTATUS = DESCRIPTOR.message_types_by_name['OnStatus'] _STAGE = DESCRIPTOR.message_types_by_name['Stage'] _CHAINREQUEST = DESCRIPTOR.message_types_by_name['ChainRequest'] +_BATCHREQUEST = DESCRIPTOR.message_types_by_name['BatchRequest'] Token = _reflection.GeneratedProtocolMessageType('Token', (_message.Message,), { 'DESCRIPTOR' : _TOKEN, '__module__' : 'generation_pb2' @@ -439,6 +440,13 @@ }) _sym_db.RegisterMessage(ChainRequest) +BatchRequest = _reflection.GeneratedProtocolMessageType('BatchRequest', (_message.Message,), { + 'DESCRIPTOR' : _BATCHREQUEST, + '__module__' : 'generation_pb2' + # @@protoc_insertion_point(class_scope:gooseai.BatchRequest) + }) +_sym_db.RegisterMessage(BatchRequest) + _GENERATIONSERVICE = DESCRIPTOR.services_by_name['GenerationService'] if _descriptor._USE_C_DESCRIPTORS == False: @@ -446,40 +454,40 @@ DESCRIPTOR._serialized_options = b'Z9github.com/stability-ai/api-interfaces/gooseai/generation' _TRANSFORMMATRIX.fields_by_name['data']._options = None _TRANSFORMMATRIX.fields_by_name['data']._serialized_options = b'\020\001' - _FINISHREASON._serialized_start=6755 - _FINISHREASON._serialized_end=6824 - _ARTIFACTTYPE._serialized_start=6827 - _ARTIFACTTYPE._serialized_end=7075 - _MASKEDAREAINIT._serialized_start=7077 - _MASKEDAREAINIT._serialized_end=7180 - _WEIGHTMETHOD._serialized_start=7182 - _WEIGHTMETHOD._serialized_end=7235 - _DIFFUSIONSAMPLER._serialized_start=7238 - _DIFFUSIONSAMPLER._serialized_end=7518 - _UPSCALER._serialized_start=7520 - _UPSCALER._serialized_end=7590 - _GUIDANCEPRESET._serialized_start=7593 - _GUIDANCEPRESET._serialized_end=7809 - _MODELARCHITECTURE._serialized_start=7812 - _MODELARCHITECTURE._serialized_end=7957 - _ACTION._serialized_start=7960 - _ACTION._serialized_end=8122 - _CLASSIFIERMODE._serialized_start=8124 - _CLASSIFIERMODE._serialized_end=8192 - _INTERPOLATEMODE._serialized_start=8195 - _INTERPOLATEMODE._serialized_end=8335 - _BORDERMODE._serialized_start=8337 - _BORDERMODE._serialized_end=8445 - _COLORMATCHMODE._serialized_start=8447 - _COLORMATCHMODE._serialized_end=8526 - _CAMERATYPE._serialized_start=8528 - _CAMERATYPE._serialized_end=8589 - _ASSETACTION._serialized_start=8591 - _ASSETACTION._serialized_end=8652 - _ASSETUSE._serialized_start=8655 - _ASSETUSE._serialized_end=8784 - _STAGEACTION._serialized_start=8786 - _STAGEACTION._serialized_end=8873 + _FINISHREASON._serialized_start=6830 + _FINISHREASON._serialized_end=6899 + _ARTIFACTTYPE._serialized_start=6902 + _ARTIFACTTYPE._serialized_end=7150 + _MASKEDAREAINIT._serialized_start=7152 + _MASKEDAREAINIT._serialized_end=7255 + _WEIGHTMETHOD._serialized_start=7257 + _WEIGHTMETHOD._serialized_end=7310 + _DIFFUSIONSAMPLER._serialized_start=7313 + _DIFFUSIONSAMPLER._serialized_end=7593 + _UPSCALER._serialized_start=7595 + _UPSCALER._serialized_end=7665 + _GUIDANCEPRESET._serialized_start=7668 + _GUIDANCEPRESET._serialized_end=7884 + _MODELARCHITECTURE._serialized_start=7887 + _MODELARCHITECTURE._serialized_end=8032 + _ACTION._serialized_start=8035 + _ACTION._serialized_end=8197 + _CLASSIFIERMODE._serialized_start=8199 + _CLASSIFIERMODE._serialized_end=8267 + _INTERPOLATEMODE._serialized_start=8270 + _INTERPOLATEMODE._serialized_end=8410 + _BORDERMODE._serialized_start=8412 + _BORDERMODE._serialized_end=8520 + _COLORMATCHMODE._serialized_start=8522 + _COLORMATCHMODE._serialized_end=8601 + _CAMERATYPE._serialized_start=8603 + _CAMERATYPE._serialized_end=8664 + _ASSETACTION._serialized_start=8666 + _ASSETACTION._serialized_end=8727 + _ASSETUSE._serialized_start=8730 + _ASSETUSE._serialized_end=8859 + _STAGEACTION._serialized_start=8861 + _STAGEACTION._serialized_end=8948 _TOKEN._serialized_start=74 _TOKEN._serialized_end=121 _TOKENS._serialized_start=123 @@ -556,6 +564,8 @@ _STAGE._serialized_end=6686 _CHAINREQUEST._serialized_start=6688 _CHAINREQUEST._serialized_end=6753 - _GENERATIONSERVICE._serialized_start=8876 - _GENERATIONSERVICE._serialized_end=9007 + _BATCHREQUEST._serialized_start=6755 + _BATCHREQUEST._serialized_end=6828 + _GENERATIONSERVICE._serialized_start=8951 + _GENERATIONSERVICE._serialized_end=9146 # @@protoc_insertion_point(module_scope) diff --git a/gooseai/generation/generation_pb2_grpc.py b/gooseai/generation/generation_pb2_grpc.py index 2d5b0c9..be3a598 100644 --- a/gooseai/generation/generation_pb2_grpc.py +++ b/gooseai/generation/generation_pb2_grpc.py @@ -27,6 +27,11 @@ def __init__(self, channel): request_serializer=generation__pb2.ChainRequest.SerializeToString, response_deserializer=generation__pb2.Answer.FromString, ) + self.BatchGenerate = channel.unary_unary( + '/gooseai.GenerationService/BatchGenerate', + request_serializer=generation__pb2.BatchRequest.SerializeToString, + response_deserializer=generation__pb2.AnswerBatch.FromString, + ) class GenerationServiceServicer(object): @@ -47,6 +52,13 @@ def ChainGenerate(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def BatchGenerate(self, request, context): + """Unary version of ChainGenerate + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_GenerationServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -60,6 +72,11 @@ def add_GenerationServiceServicer_to_server(servicer, server): request_deserializer=generation__pb2.ChainRequest.FromString, response_serializer=generation__pb2.Answer.SerializeToString, ), + 'BatchGenerate': grpc.unary_unary_rpc_method_handler( + servicer.BatchGenerate, + request_deserializer=generation__pb2.BatchRequest.FromString, + response_serializer=generation__pb2.AnswerBatch.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'gooseai.GenerationService', rpc_method_handlers) @@ -106,3 +123,20 @@ def ChainGenerate(request, generation__pb2.Answer.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BatchGenerate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/gooseai.GenerationService/BatchGenerate', + generation__pb2.BatchRequest.SerializeToString, + generation__pb2.AnswerBatch.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/gooseai/generation/generation_pb_service.d.ts b/gooseai/generation/generation_pb_service.d.ts index ae4428a..3780d83 100644 --- a/gooseai/generation/generation_pb_service.d.ts +++ b/gooseai/generation/generation_pb_service.d.ts @@ -22,10 +22,20 @@ type GenerationServiceChainGenerate = { readonly responseType: typeof generation_pb.Answer; }; +type GenerationServiceBatchGenerate = { + readonly methodName: string; + readonly service: typeof GenerationService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof generation_pb.BatchRequest; + readonly responseType: typeof generation_pb.AnswerBatch; +}; + export class GenerationService { static readonly serviceName: string; static readonly Generate: GenerationServiceGenerate; static readonly ChainGenerate: GenerationServiceChainGenerate; + static readonly BatchGenerate: GenerationServiceBatchGenerate; } export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } @@ -62,5 +72,14 @@ export class GenerationServiceClient { constructor(serviceHost: string, options?: grpc.RpcOptions); generate(requestMessage: generation_pb.Request, metadata?: grpc.Metadata): ResponseStream; chainGenerate(requestMessage: generation_pb.ChainRequest, metadata?: grpc.Metadata): ResponseStream; + batchGenerate( + requestMessage: generation_pb.BatchRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: generation_pb.AnswerBatch|null) => void + ): UnaryResponse; + batchGenerate( + requestMessage: generation_pb.BatchRequest, + callback: (error: ServiceError|null, responseMessage: generation_pb.AnswerBatch|null) => void + ): UnaryResponse; } diff --git a/gooseai/generation/generation_pb_service.js b/gooseai/generation/generation_pb_service.js index a03f594..9982e1b 100644 --- a/gooseai/generation/generation_pb_service.js +++ b/gooseai/generation/generation_pb_service.js @@ -28,6 +28,15 @@ GenerationService.ChainGenerate = { responseType: generation_pb.Answer }; +GenerationService.BatchGenerate = { + methodName: "BatchGenerate", + service: GenerationService, + requestStream: false, + responseStream: false, + requestType: generation_pb.BatchRequest, + responseType: generation_pb.AnswerBatch +}; + exports.GenerationService = GenerationService; function GenerationServiceClient(serviceHost, options) { @@ -113,5 +122,36 @@ GenerationServiceClient.prototype.chainGenerate = function chainGenerate(request }; }; +GenerationServiceClient.prototype.batchGenerate = function batchGenerate(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(GenerationService.BatchGenerate, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + exports.GenerationServiceClient = GenerationServiceClient; diff --git a/gooseai/go.mod b/gooseai/go.mod index 38ead2a..3044a3b 100644 --- a/gooseai/go.mod +++ b/gooseai/go.mod @@ -3,15 +3,15 @@ module github.com/stability-ai/api-interfaces/gooseai go 1.18 require ( - github.com/coreweave/tensorizer/tensors v0.0.0-20230215233916-9f5c059a2c8c - google.golang.org/grpc v1.53.0 - google.golang.org/protobuf v1.28.1 + github.com/coreweave/tensorizer/tensors v0.0.0-20230324010935-029982083a12 + google.golang.org/grpc v1.54.0 + google.golang.org/protobuf v1.30.0 ) require ( github.com/golang/protobuf v1.5.2 // indirect - golang.org/x/net v0.5.0 // indirect - golang.org/x/sys v0.4.0 // indirect - golang.org/x/text v0.6.0 // indirect + golang.org/x/net v0.8.0 // indirect + golang.org/x/sys v0.6.0 // indirect + golang.org/x/text v0.8.0 // indirect google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect ) diff --git a/gooseai/go.sum b/gooseai/go.sum index 531a2ba..c3d36f0 100644 --- a/gooseai/go.sum +++ b/gooseai/go.sum @@ -1,22 +1,22 @@ -github.com/coreweave/tensorizer/tensors v0.0.0-20230215233916-9f5c059a2c8c h1:UX/dEs8SF7odccYiLU7jpekIe3jqSQIUgo+pTqwwfUg= -github.com/coreweave/tensorizer/tensors v0.0.0-20230215233916-9f5c059a2c8c/go.mod h1:SBsa3erqu4GCZbu2jeiMIE86eZ6Tx9fDmi/0BZpjHcU= +github.com/coreweave/tensorizer/tensors v0.0.0-20230324010935-029982083a12 h1:Q43kphC2zr1rYLBrDt+BD4TTOSC+xbTk3FRPzpC7Dyo= +github.com/coreweave/tensorizer/tensors v0.0.0-20230324010935-029982083a12/go.mod h1:SBsa3erqu4GCZbu2jeiMIE86eZ6Tx9fDmi/0BZpjHcU= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= diff --git a/src/proto/generation.proto b/src/proto/generation.proto index d502207..830204e 100644 --- a/src/proto/generation.proto +++ b/src/proto/generation.proto @@ -491,10 +491,20 @@ message ChainRequest { repeated Stage stage = 2; } +// Currently the server will reject batches of more than 1 chain request. +// This is still useful to enable unary responses via BatchGenerate. +message BatchRequest { + string batch_id = 1; + repeated ChainRequest requests = 2; +} + // // gRPC services // service GenerationService { rpc Generate (Request) returns (stream Answer) {}; rpc ChainGenerate (ChainRequest) returns (stream Answer) {}; + + // Unary version of ChainGenerate + rpc BatchGenerate (BatchRequest) returns (AnswerBatch) {}; }