diff --git a/.gitignore b/.gitignore index f7127cc..91a0896 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ node_modules .idea pybuild/ +.history/ dist/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 5bd82e9..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "src/tensorizer"] - path = src/tensorizer - url = https://github.com/coreweave/tensorizer.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 27454c9..c2a22b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -248,6 +248,7 @@ add_protobufs(${CMAKE_SOURCE_DIR}/src/proto/dashboard.proto) add_protobufs(${CMAKE_SOURCE_DIR}/src/proto/generation.proto) add_protobufs(${CMAKE_SOURCE_DIR}/src/proto/engines.proto) add_protobufs(${CMAKE_SOURCE_DIR}/src/proto/project.proto) +add_protobufs(${CMAKE_SOURCE_DIR}/src/proto/finetuning.proto) generate_interfaces() add_custom_command( diff --git a/gooseai/engines/engines.pb.go b/gooseai/engines/engines.pb.go index df03f35..c494969 100644 --- a/gooseai/engines/engines.pb.go +++ b/gooseai/engines/engines.pb.go @@ -138,6 +138,7 @@ type EngineInfo struct { Tokenizer EngineTokenizer `protobuf:"varint,5,opt,name=tokenizer,proto3,enum=gooseai.EngineTokenizer" json:"tokenizer,omitempty"` Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + CanFineTune bool `protobuf:"varint,8,opt,name=can_fine_tune,json=canFineTune,proto3" json:"can_fine_tune,omitempty"` } func (x *EngineInfo) Reset() { @@ -221,6 +222,13 @@ func (x *EngineInfo) GetDescription() string { return "" } +func (x *EngineInfo) GetCanFineTune() bool { + if x != nil { + return x.CanFineTune + } + return false +} + type ListEnginesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -311,7 +319,7 @@ var File_engines_proto protoreflect.FileDescriptor var file_engines_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x07, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x22, 0xdf, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x67, + 0x07, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x22, 0x83, 0x02, 0x0a, 0x0a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, @@ -325,29 +333,32 @@ var file_engines_proto_rawDesc = []byte{ 0x69, 0x7a, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x36, 0x0a, 0x07, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2a, 0x5a, 0x0a, 0x0a, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x49, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, - 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, - 0x4f, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x10, 0x05, 0x2a, 0x25, 0x0a, 0x0f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x50, 0x54, 0x32, 0x10, - 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x32, 0x50, 0x0a, 0x0e, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, - 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x00, 0x42, 0x38, 0x5a, - 0x36, 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, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, + 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x75, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x65, 0x22, 0x14, + 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x36, 0x0a, 0x07, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x12, + 0x2b, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2a, 0x5a, 0x0a, 0x0a, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, + 0x58, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x49, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, + 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, + 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x41, 0x53, 0x53, + 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x05, 0x2a, 0x25, 0x0a, 0x0f, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x47, + 0x50, 0x54, 0x32, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x32, + 0x50, 0x0a, 0x0e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, + 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x22, + 0x00, 0x42, 0x38, 0x5a, 0x36, 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, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/gooseai/engines/engines_pb.d.ts b/gooseai/engines/engines_pb.d.ts index 771173e..65b395d 100644 --- a/gooseai/engines/engines_pb.d.ts +++ b/gooseai/engines/engines_pb.d.ts @@ -25,6 +25,9 @@ export class EngineInfo extends jspb.Message { getDescription(): string; setDescription(value: string): void; + getCanFineTune(): boolean; + setCanFineTune(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): EngineInfo.AsObject; static toObject(includeInstance: boolean, msg: EngineInfo): EngineInfo.AsObject; @@ -44,6 +47,7 @@ export namespace EngineInfo { tokenizer: EngineTokenizerMap[keyof EngineTokenizerMap], name: string, description: string, + canFineTune: boolean, } } diff --git a/gooseai/engines/engines_pb.js b/gooseai/engines/engines_pb.js index b1f17d8..49e6775 100644 --- a/gooseai/engines/engines_pb.js +++ b/gooseai/engines/engines_pb.js @@ -127,7 +127,8 @@ proto.gooseai.EngineInfo.toObject = function(includeInstance, msg) { type: jspb.Message.getFieldWithDefault(msg, 4, 0), tokenizer: jspb.Message.getFieldWithDefault(msg, 5, 0), name: jspb.Message.getFieldWithDefault(msg, 6, ""), - description: jspb.Message.getFieldWithDefault(msg, 7, "") + description: jspb.Message.getFieldWithDefault(msg, 7, ""), + canFineTune: jspb.Message.getBooleanFieldWithDefault(msg, 8, false) }; if (includeInstance) { @@ -192,6 +193,10 @@ proto.gooseai.EngineInfo.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {string} */ (reader.readString()); msg.setDescription(value); break; + case 8: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setCanFineTune(value); + break; default: reader.skipField(); break; @@ -270,6 +275,13 @@ proto.gooseai.EngineInfo.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getCanFineTune(); + if (f) { + writer.writeBool( + 8, + f + ); + } }; @@ -399,6 +411,24 @@ proto.gooseai.EngineInfo.prototype.setDescription = function(value) { }; +/** + * optional bool can_fine_tune = 8; + * @return {boolean} + */ +proto.gooseai.EngineInfo.prototype.getCanFineTune = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.gooseai.EngineInfo} returns this + */ +proto.gooseai.EngineInfo.prototype.setCanFineTune = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); +}; + + diff --git a/gooseai/engines/engines_pb2.py b/gooseai/engines/engines_pb2.py index c7d2ab7..b7ea475 100644 --- a/gooseai/engines/engines_pb2.py +++ b/gooseai/engines/engines_pb2.py @@ -15,7 +15,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rengines.proto\x12\x07gooseai\"\xa9\x01\n\nEngineInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\t\x12\r\n\x05ready\x18\x03 \x01(\x08\x12!\n\x04type\x18\x04 \x01(\x0e\x32\x13.gooseai.EngineType\x12+\n\ttokenizer\x18\x05 \x01(\x0e\x32\x18.gooseai.EngineTokenizer\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\"\x14\n\x12ListEnginesRequest\".\n\x07\x45ngines\x12#\n\x06\x65ngine\x18\x01 \x03(\x0b\x32\x13.gooseai.EngineInfo*Z\n\nEngineType\x12\x08\n\x04TEXT\x10\x00\x12\x0b\n\x07PICTURE\x10\x01\x12\t\n\x05\x41UDIO\x10\x02\x12\t\n\x05VIDEO\x10\x03\x12\x12\n\x0e\x43LASSIFICATION\x10\x04\x12\x0b\n\x07STORAGE\x10\x05*%\n\x0f\x45ngineTokenizer\x12\x08\n\x04GPT2\x10\x00\x12\x08\n\x04PILE\x10\x01\x32P\n\x0e\x45nginesService\x12>\n\x0bListEngines\x12\x1b.gooseai.ListEnginesRequest\x1a\x10.gooseai.Engines\"\x00\x42\x38Z6github.com/stability-ai/api-interfaces/gooseai/enginesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rengines.proto\x12\x07gooseai\"\xc0\x01\n\nEngineInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\t\x12\r\n\x05ready\x18\x03 \x01(\x08\x12!\n\x04type\x18\x04 \x01(\x0e\x32\x13.gooseai.EngineType\x12+\n\ttokenizer\x18\x05 \x01(\x0e\x32\x18.gooseai.EngineTokenizer\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x15\n\rcan_fine_tune\x18\x08 \x01(\x08\"\x14\n\x12ListEnginesRequest\".\n\x07\x45ngines\x12#\n\x06\x65ngine\x18\x01 \x03(\x0b\x32\x13.gooseai.EngineInfo*Z\n\nEngineType\x12\x08\n\x04TEXT\x10\x00\x12\x0b\n\x07PICTURE\x10\x01\x12\t\n\x05\x41UDIO\x10\x02\x12\t\n\x05VIDEO\x10\x03\x12\x12\n\x0e\x43LASSIFICATION\x10\x04\x12\x0b\n\x07STORAGE\x10\x05*%\n\x0f\x45ngineTokenizer\x12\x08\n\x04GPT2\x10\x00\x12\x08\n\x04PILE\x10\x01\x32P\n\x0e\x45nginesService\x12>\n\x0bListEngines\x12\x1b.gooseai.ListEnginesRequest\x1a\x10.gooseai.Engines\"\x00\x42\x38Z6github.com/stability-ai/api-interfaces/gooseai/enginesb\x06proto3') _ENGINETYPE = DESCRIPTOR.enum_types_by_name['EngineType'] EngineType = enum_type_wrapper.EnumTypeWrapper(_ENGINETYPE) @@ -60,16 +60,16 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z6github.com/stability-ai/api-interfaces/gooseai/engines' - _ENGINETYPE._serialized_start=268 - _ENGINETYPE._serialized_end=358 - _ENGINETOKENIZER._serialized_start=360 - _ENGINETOKENIZER._serialized_end=397 + _ENGINETYPE._serialized_start=291 + _ENGINETYPE._serialized_end=381 + _ENGINETOKENIZER._serialized_start=383 + _ENGINETOKENIZER._serialized_end=420 _ENGINEINFO._serialized_start=27 - _ENGINEINFO._serialized_end=196 - _LISTENGINESREQUEST._serialized_start=198 - _LISTENGINESREQUEST._serialized_end=218 - _ENGINES._serialized_start=220 - _ENGINES._serialized_end=266 - _ENGINESSERVICE._serialized_start=399 - _ENGINESSERVICE._serialized_end=479 + _ENGINEINFO._serialized_end=219 + _LISTENGINESREQUEST._serialized_start=221 + _LISTENGINESREQUEST._serialized_end=241 + _ENGINES._serialized_start=243 + _ENGINES._serialized_end=289 + _ENGINESSERVICE._serialized_start=422 + _ENGINESSERVICE._serialized_end=502 # @@protoc_insertion_point(module_scope) diff --git a/gooseai/finetuning/finetuning.pb.go b/gooseai/finetuning/finetuning.pb.go new file mode 100644 index 0000000..31a41ee --- /dev/null +++ b/gooseai/finetuning/finetuning.pb.go @@ -0,0 +1,1330 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.5 +// source: finetuning.proto + +package finetuning + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FineTuningMode int32 + +const ( + FineTuningMode_FINE_TUNING_MODE_UNSPECIFIED FineTuningMode = 0 // No mode specified + FineTuningMode_FINE_TUNING_MODE_FACE FineTuningMode = 1 // Fine tuning a face model + FineTuningMode_FINE_TUNING_MODE_STYLE FineTuningMode = 2 // Fine tuning a style model + FineTuningMode_FINE_TUNING_MODE_OBJECT FineTuningMode = 3 // Fine tuning an object model +) + +// Enum value maps for FineTuningMode. +var ( + FineTuningMode_name = map[int32]string{ + 0: "FINE_TUNING_MODE_UNSPECIFIED", + 1: "FINE_TUNING_MODE_FACE", + 2: "FINE_TUNING_MODE_STYLE", + 3: "FINE_TUNING_MODE_OBJECT", + } + FineTuningMode_value = map[string]int32{ + "FINE_TUNING_MODE_UNSPECIFIED": 0, + "FINE_TUNING_MODE_FACE": 1, + "FINE_TUNING_MODE_STYLE": 2, + "FINE_TUNING_MODE_OBJECT": 3, + } +) + +func (x FineTuningMode) Enum() *FineTuningMode { + p := new(FineTuningMode) + *p = x + return p +} + +func (x FineTuningMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FineTuningMode) Descriptor() protoreflect.EnumDescriptor { + return file_finetuning_proto_enumTypes[0].Descriptor() +} + +func (FineTuningMode) Type() protoreflect.EnumType { + return &file_finetuning_proto_enumTypes[0] +} + +func (x FineTuningMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FineTuningMode.Descriptor instead. +func (FineTuningMode) EnumDescriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{0} +} + +type FineTuningStatus int32 + +const ( + FineTuningStatus_FINE_TUNING_STATUS_NOT_STARTED FineTuningStatus = 0 // Model not yet started + FineTuningStatus_FINE_TUNING_STATUS_RUNNING FineTuningStatus = 1 // Model is currently running + FineTuningStatus_FINE_TUNING_STATUS_COMPLETED FineTuningStatus = 2 // Model has completed successfully + FineTuningStatus_FINE_TUNING_STATUS_FAILED FineTuningStatus = 3 // Model has failed + FineTuningStatus_FINE_TUNING_STATUS_SUBMITTED FineTuningStatus = 4 // Model has been submitted +) + +// Enum value maps for FineTuningStatus. +var ( + FineTuningStatus_name = map[int32]string{ + 0: "FINE_TUNING_STATUS_NOT_STARTED", + 1: "FINE_TUNING_STATUS_RUNNING", + 2: "FINE_TUNING_STATUS_COMPLETED", + 3: "FINE_TUNING_STATUS_FAILED", + 4: "FINE_TUNING_STATUS_SUBMITTED", + } + FineTuningStatus_value = map[string]int32{ + "FINE_TUNING_STATUS_NOT_STARTED": 0, + "FINE_TUNING_STATUS_RUNNING": 1, + "FINE_TUNING_STATUS_COMPLETED": 2, + "FINE_TUNING_STATUS_FAILED": 3, + "FINE_TUNING_STATUS_SUBMITTED": 4, + } +) + +func (x FineTuningStatus) Enum() *FineTuningStatus { + p := new(FineTuningStatus) + *p = x + return p +} + +func (x FineTuningStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FineTuningStatus) Descriptor() protoreflect.EnumDescriptor { + return file_finetuning_proto_enumTypes[1].Descriptor() +} + +func (FineTuningStatus) Type() protoreflect.EnumType { + return &file_finetuning_proto_enumTypes[1] +} + +func (x FineTuningStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FineTuningStatus.Descriptor instead. +func (FineTuningStatus) EnumDescriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{1} +} + +type FineTuningModel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // ID of the model, UUIDv4 + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // ID of user who created the model + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // a readable model name + Mode *FineTuningMode `protobuf:"varint,4,opt,name=mode,proto3,enum=gooseai.FineTuningMode,oneof" json:"mode,omitempty"` // the mode of the model + ObjectPrompt *string `protobuf:"bytes,5,opt,name=object_prompt,json=objectPrompt,proto3,oneof" json:"object_prompt,omitempty"` // freeform text description of object, should only be set when mode is OBJECT + ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // project ID with assets to be used for fine tuning + Duration float64 `protobuf:"fixed64,7,opt,name=duration,proto3" json:"duration,omitempty"` // duration in seconds for how long the model took to train + Status FineTuningStatus `protobuf:"varint,8,opt,name=status,proto3,enum=gooseai.FineTuningStatus" json:"status,omitempty"` // the current status of the model + EngineId string `protobuf:"bytes,9,opt,name=engine_id,json=engineId,proto3" json:"engine_id,omitempty"` // the engineId of a fine-tuneable Stability model + FailureReason *string `protobuf:"bytes,10,opt,name=failure_reason,json=failureReason,proto3,oneof" json:"failure_reason,omitempty"` // If a model's training failed, this will contain the reason +} + +func (x *FineTuningModel) Reset() { + *x = FineTuningModel{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FineTuningModel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FineTuningModel) ProtoMessage() {} + +func (x *FineTuningModel) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[0] + 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 FineTuningModel.ProtoReflect.Descriptor instead. +func (*FineTuningModel) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{0} +} + +func (x *FineTuningModel) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *FineTuningModel) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *FineTuningModel) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FineTuningModel) GetMode() FineTuningMode { + if x != nil && x.Mode != nil { + return *x.Mode + } + return FineTuningMode_FINE_TUNING_MODE_UNSPECIFIED +} + +func (x *FineTuningModel) GetObjectPrompt() string { + if x != nil && x.ObjectPrompt != nil { + return *x.ObjectPrompt + } + return "" +} + +func (x *FineTuningModel) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *FineTuningModel) GetDuration() float64 { + if x != nil { + return x.Duration + } + return 0 +} + +func (x *FineTuningModel) GetStatus() FineTuningStatus { + if x != nil { + return x.Status + } + return FineTuningStatus_FINE_TUNING_STATUS_NOT_STARTED +} + +func (x *FineTuningModel) GetEngineId() string { + if x != nil { + return x.EngineId + } + return "" +} + +func (x *FineTuningModel) GetFailureReason() string { + if x != nil && x.FailureReason != nil { + return *x.FailureReason + } + return "" +} + +type CreateModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // a readable model name + Mode *FineTuningMode `protobuf:"varint,2,opt,name=mode,proto3,enum=gooseai.FineTuningMode,oneof" json:"mode,omitempty"` // the mode of the model + ObjectPrompt *string `protobuf:"bytes,3,opt,name=object_prompt,json=objectPrompt,proto3,oneof" json:"object_prompt,omitempty"` // freeform text description of object, should only be set when mode is OBJECT + ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // the project_id with assets to be used for fine tuning + EngineId string `protobuf:"bytes,5,opt,name=engine_id,json=engineId,proto3" json:"engine_id,omitempty"` // the engineId of an fine-tuneable Stability model + Extras *structpb.Struct `protobuf:"bytes,2047,opt,name=extras,proto3,oneof" json:"extras,omitempty"` // for development use +} + +func (x *CreateModelRequest) Reset() { + *x = CreateModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateModelRequest) ProtoMessage() {} + +func (x *CreateModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[1] + 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 CreateModelRequest.ProtoReflect.Descriptor instead. +func (*CreateModelRequest) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateModelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateModelRequest) GetMode() FineTuningMode { + if x != nil && x.Mode != nil { + return *x.Mode + } + return FineTuningMode_FINE_TUNING_MODE_UNSPECIFIED +} + +func (x *CreateModelRequest) GetObjectPrompt() string { + if x != nil && x.ObjectPrompt != nil { + return *x.ObjectPrompt + } + return "" +} + +func (x *CreateModelRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateModelRequest) GetEngineId() string { + if x != nil { + return x.EngineId + } + return "" +} + +func (x *CreateModelRequest) GetExtras() *structpb.Struct { + if x != nil { + return x.Extras + } + return nil +} + +type CreateModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Model *FineTuningModel `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *CreateModelResponse) Reset() { + *x = CreateModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateModelResponse) ProtoMessage() {} + +func (x *CreateModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateModelResponse.ProtoReflect.Descriptor instead. +func (*CreateModelResponse) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateModelResponse) GetModel() *FineTuningModel { + if x != nil { + return x.Model + } + return nil +} + +type GetModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // ID of the model +} + +func (x *GetModelRequest) Reset() { + *x = GetModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelRequest) ProtoMessage() {} + +func (x *GetModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[3] + 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 GetModelRequest.ProtoReflect.Descriptor instead. +func (*GetModelRequest) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{3} +} + +func (x *GetModelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Model *FineTuningModel `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *GetModelResponse) Reset() { + *x = GetModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelResponse) ProtoMessage() {} + +func (x *GetModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[4] + 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 GetModelResponse.ProtoReflect.Descriptor instead. +func (*GetModelResponse) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{4} +} + +func (x *GetModelResponse) GetModel() *FineTuningModel { + if x != nil { + return x.Model + } + return nil +} + +type UpdateModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // the id of the model + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` // a readable model name + Mode *FineTuningMode `protobuf:"varint,3,opt,name=mode,proto3,enum=gooseai.FineTuningMode,oneof" json:"mode,omitempty"` // the mode of the model + ObjectPrompt *string `protobuf:"bytes,4,opt,name=object_prompt,json=objectPrompt,proto3,oneof" json:"object_prompt,omitempty"` // freeform text description of object, should only be set when mode is OBJECT + EngineId *string `protobuf:"bytes,5,opt,name=engine_id,json=engineId,proto3,oneof" json:"engine_id,omitempty"` // the engineId of an fine-tuneable Stability model +} + +func (x *UpdateModelRequest) Reset() { + *x = UpdateModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateModelRequest) ProtoMessage() {} + +func (x *UpdateModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[5] + 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 UpdateModelRequest.ProtoReflect.Descriptor instead. +func (*UpdateModelRequest) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateModelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateModelRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *UpdateModelRequest) GetMode() FineTuningMode { + if x != nil && x.Mode != nil { + return *x.Mode + } + return FineTuningMode_FINE_TUNING_MODE_UNSPECIFIED +} + +func (x *UpdateModelRequest) GetObjectPrompt() string { + if x != nil && x.ObjectPrompt != nil { + return *x.ObjectPrompt + } + return "" +} + +func (x *UpdateModelRequest) GetEngineId() string { + if x != nil && x.EngineId != nil { + return *x.EngineId + } + return "" +} + +type UpdateModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Model *FineTuningModel `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *UpdateModelResponse) Reset() { + *x = UpdateModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateModelResponse) ProtoMessage() {} + +func (x *UpdateModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[6] + 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 UpdateModelResponse.ProtoReflect.Descriptor instead. +func (*UpdateModelResponse) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateModelResponse) GetModel() *FineTuningModel { + if x != nil { + return x.Model + } + return nil +} + +type DeleteModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // ID of the model to delete +} + +func (x *DeleteModelRequest) Reset() { + *x = DeleteModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelRequest) ProtoMessage() {} + +func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[7] + 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 DeleteModelRequest.ProtoReflect.Descriptor instead. +func (*DeleteModelRequest) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{7} +} + +func (x *DeleteModelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Model *FineTuningModel `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *DeleteModelResponse) Reset() { + *x = DeleteModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelResponse) ProtoMessage() {} + +func (x *DeleteModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[8] + 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 DeleteModelResponse.ProtoReflect.Descriptor instead. +func (*DeleteModelResponse) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{8} +} + +func (x *DeleteModelResponse) GetModel() *FineTuningModel { + if x != nil { + return x.Model + } + return nil +} + +type ResubmitModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // ID of the model to resubmit +} + +func (x *ResubmitModelRequest) Reset() { + *x = ResubmitModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResubmitModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResubmitModelRequest) ProtoMessage() {} + +func (x *ResubmitModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResubmitModelRequest.ProtoReflect.Descriptor instead. +func (*ResubmitModelRequest) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{9} +} + +func (x *ResubmitModelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type ResubmitModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Model *FineTuningModel `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *ResubmitModelResponse) Reset() { + *x = ResubmitModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResubmitModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResubmitModelResponse) ProtoMessage() {} + +func (x *ResubmitModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[10] + 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 ResubmitModelResponse.ProtoReflect.Descriptor instead. +func (*ResubmitModelResponse) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{10} +} + +func (x *ResubmitModelResponse) GetModel() *FineTuningModel { + if x != nil { + return x.Model + } + return nil +} + +type ListModelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Id: + // *ListModelsRequest_OrgId + // *ListModelsRequest_UserId + Id isListModelsRequest_Id `protobuf_oneof:"id"` +} + +func (x *ListModelsRequest) Reset() { + *x = ListModelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelsRequest) ProtoMessage() {} + +func (x *ListModelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[11] + 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 ListModelsRequest.ProtoReflect.Descriptor instead. +func (*ListModelsRequest) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{11} +} + +func (m *ListModelsRequest) GetId() isListModelsRequest_Id { + if m != nil { + return m.Id + } + return nil +} + +func (x *ListModelsRequest) GetOrgId() string { + if x, ok := x.GetId().(*ListModelsRequest_OrgId); ok { + return x.OrgId + } + return "" +} + +func (x *ListModelsRequest) GetUserId() string { + if x, ok := x.GetId().(*ListModelsRequest_UserId); ok { + return x.UserId + } + return "" +} + +type isListModelsRequest_Id interface { + isListModelsRequest_Id() +} + +type ListModelsRequest_OrgId struct { + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3,oneof"` // the organization's ID +} + +type ListModelsRequest_UserId struct { + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3,oneof"` // or the user's ID +} + +func (*ListModelsRequest_OrgId) isListModelsRequest_Id() {} + +func (*ListModelsRequest_UserId) isListModelsRequest_Id() {} + +type ListModelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Models []*FineTuningModel `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"` // the list of models +} + +func (x *ListModelsResponse) Reset() { + *x = ListModelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_finetuning_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelsResponse) ProtoMessage() {} + +func (x *ListModelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_finetuning_proto_msgTypes[12] + 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 ListModelsResponse.ProtoReflect.Descriptor instead. +func (*ListModelsResponse) Descriptor() ([]byte, []int) { + return file_finetuning_proto_rawDescGZIP(), []int{12} +} + +func (x *ListModelsResponse) GetModels() []*FineTuningModel { + if x != nil { + return x.Models + } + return nil +} + +var File_finetuning_proto protoreflect.FileDescriptor + +var file_finetuning_proto_rawDesc = []byte{ + 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x65, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x07, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x03, 0x0a, 0x0f, 0x46, 0x69, + 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, + 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, + 0x65, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, + 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, + 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x9d, 0x02, 0x0a, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, + 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x35, + 0x0a, 0x06, 0x65, 0x78, 0x74, 0x72, 0x61, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x02, 0x52, 0x06, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x73, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x73, 0x22, 0x45, 0x0a, 0x13, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, + 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xed, 0x01, 0x0a, 0x12, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x04, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, + 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6d, + 0x70, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2e, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, + 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x26, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x47, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, + 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x4d, + 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, + 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2a, 0x86, 0x01, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, + 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x49, 0x4e, 0x45, + 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x49, + 0x4e, 0x45, 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, + 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x55, + 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, + 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0xb9, + 0x01, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x55, 0x4e, 0x49, + 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x49, 0x4e, 0x45, 0x5f, + 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, + 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x49, 0x4e, 0x45, 0x5f, + 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x49, 0x4e, + 0x45, 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x49, 0x4e, 0x45, + 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, + 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x04, 0x32, 0xc9, 0x03, 0x0a, 0x11, 0x46, + 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x48, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4e, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x45, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x66, 0x69, 0x6e, 0x65, 0x74, 0x75, 0x6e, + 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_finetuning_proto_rawDescOnce sync.Once + file_finetuning_proto_rawDescData = file_finetuning_proto_rawDesc +) + +func file_finetuning_proto_rawDescGZIP() []byte { + file_finetuning_proto_rawDescOnce.Do(func() { + file_finetuning_proto_rawDescData = protoimpl.X.CompressGZIP(file_finetuning_proto_rawDescData) + }) + return file_finetuning_proto_rawDescData +} + +var file_finetuning_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_finetuning_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_finetuning_proto_goTypes = []interface{}{ + (FineTuningMode)(0), // 0: gooseai.FineTuningMode + (FineTuningStatus)(0), // 1: gooseai.FineTuningStatus + (*FineTuningModel)(nil), // 2: gooseai.FineTuningModel + (*CreateModelRequest)(nil), // 3: gooseai.CreateModelRequest + (*CreateModelResponse)(nil), // 4: gooseai.CreateModelResponse + (*GetModelRequest)(nil), // 5: gooseai.GetModelRequest + (*GetModelResponse)(nil), // 6: gooseai.GetModelResponse + (*UpdateModelRequest)(nil), // 7: gooseai.UpdateModelRequest + (*UpdateModelResponse)(nil), // 8: gooseai.UpdateModelResponse + (*DeleteModelRequest)(nil), // 9: gooseai.DeleteModelRequest + (*DeleteModelResponse)(nil), // 10: gooseai.DeleteModelResponse + (*ResubmitModelRequest)(nil), // 11: gooseai.ResubmitModelRequest + (*ResubmitModelResponse)(nil), // 12: gooseai.ResubmitModelResponse + (*ListModelsRequest)(nil), // 13: gooseai.ListModelsRequest + (*ListModelsResponse)(nil), // 14: gooseai.ListModelsResponse + (*structpb.Struct)(nil), // 15: google.protobuf.Struct +} +var file_finetuning_proto_depIdxs = []int32{ + 0, // 0: gooseai.FineTuningModel.mode:type_name -> gooseai.FineTuningMode + 1, // 1: gooseai.FineTuningModel.status:type_name -> gooseai.FineTuningStatus + 0, // 2: gooseai.CreateModelRequest.mode:type_name -> gooseai.FineTuningMode + 15, // 3: gooseai.CreateModelRequest.extras:type_name -> google.protobuf.Struct + 2, // 4: gooseai.CreateModelResponse.model:type_name -> gooseai.FineTuningModel + 2, // 5: gooseai.GetModelResponse.model:type_name -> gooseai.FineTuningModel + 0, // 6: gooseai.UpdateModelRequest.mode:type_name -> gooseai.FineTuningMode + 2, // 7: gooseai.UpdateModelResponse.model:type_name -> gooseai.FineTuningModel + 2, // 8: gooseai.DeleteModelResponse.model:type_name -> gooseai.FineTuningModel + 2, // 9: gooseai.ResubmitModelResponse.model:type_name -> gooseai.FineTuningModel + 2, // 10: gooseai.ListModelsResponse.models:type_name -> gooseai.FineTuningModel + 3, // 11: gooseai.FineTuningService.CreateModel:input_type -> gooseai.CreateModelRequest + 5, // 12: gooseai.FineTuningService.GetModel:input_type -> gooseai.GetModelRequest + 7, // 13: gooseai.FineTuningService.UpdateModel:input_type -> gooseai.UpdateModelRequest + 9, // 14: gooseai.FineTuningService.DeleteModel:input_type -> gooseai.DeleteModelRequest + 11, // 15: gooseai.FineTuningService.ResubmitModel:input_type -> gooseai.ResubmitModelRequest + 13, // 16: gooseai.FineTuningService.ListModels:input_type -> gooseai.ListModelsRequest + 4, // 17: gooseai.FineTuningService.CreateModel:output_type -> gooseai.CreateModelResponse + 6, // 18: gooseai.FineTuningService.GetModel:output_type -> gooseai.GetModelResponse + 8, // 19: gooseai.FineTuningService.UpdateModel:output_type -> gooseai.UpdateModelResponse + 10, // 20: gooseai.FineTuningService.DeleteModel:output_type -> gooseai.DeleteModelResponse + 12, // 21: gooseai.FineTuningService.ResubmitModel:output_type -> gooseai.ResubmitModelResponse + 14, // 22: gooseai.FineTuningService.ListModels:output_type -> gooseai.ListModelsResponse + 17, // [17:23] is the sub-list for method output_type + 11, // [11:17] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_finetuning_proto_init() } +func file_finetuning_proto_init() { + if File_finetuning_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_finetuning_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FineTuningModel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResubmitModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResubmitModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_finetuning_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_finetuning_proto_msgTypes[0].OneofWrappers = []interface{}{} + file_finetuning_proto_msgTypes[1].OneofWrappers = []interface{}{} + file_finetuning_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_finetuning_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*ListModelsRequest_OrgId)(nil), + (*ListModelsRequest_UserId)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_finetuning_proto_rawDesc, + NumEnums: 2, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_finetuning_proto_goTypes, + DependencyIndexes: file_finetuning_proto_depIdxs, + EnumInfos: file_finetuning_proto_enumTypes, + MessageInfos: file_finetuning_proto_msgTypes, + }.Build() + File_finetuning_proto = out.File + file_finetuning_proto_rawDesc = nil + file_finetuning_proto_goTypes = nil + file_finetuning_proto_depIdxs = nil +} diff --git a/gooseai/finetuning/finetuning_grpc.pb.go b/gooseai/finetuning/finetuning_grpc.pb.go new file mode 100644 index 0000000..a9d8bf2 --- /dev/null +++ b/gooseai/finetuning/finetuning_grpc.pb.go @@ -0,0 +1,293 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package finetuning + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// FineTuningServiceClient is the client API for FineTuningService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FineTuningServiceClient interface { + // Create a new model and begin the fine tuning process + CreateModel(ctx context.Context, in *CreateModelRequest, opts ...grpc.CallOption) (*CreateModelResponse, error) + // Get a FineTuningModel + GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*GetModelResponse, error) + // Update a FineTuningModel by id + UpdateModel(ctx context.Context, in *UpdateModelRequest, opts ...grpc.CallOption) (*UpdateModelResponse, error) + // Delete a fine tuned model + DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*DeleteModelResponse, error) + // Re-run training, does not create a new model + ResubmitModel(ctx context.Context, in *ResubmitModelRequest, opts ...grpc.CallOption) (*ResubmitModelResponse, error) + // List all the fine tuned models for an organization or user + ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error) +} + +type fineTuningServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFineTuningServiceClient(cc grpc.ClientConnInterface) FineTuningServiceClient { + return &fineTuningServiceClient{cc} +} + +func (c *fineTuningServiceClient) CreateModel(ctx context.Context, in *CreateModelRequest, opts ...grpc.CallOption) (*CreateModelResponse, error) { + out := new(CreateModelResponse) + err := c.cc.Invoke(ctx, "/gooseai.FineTuningService/CreateModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineTuningServiceClient) GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*GetModelResponse, error) { + out := new(GetModelResponse) + err := c.cc.Invoke(ctx, "/gooseai.FineTuningService/GetModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineTuningServiceClient) UpdateModel(ctx context.Context, in *UpdateModelRequest, opts ...grpc.CallOption) (*UpdateModelResponse, error) { + out := new(UpdateModelResponse) + err := c.cc.Invoke(ctx, "/gooseai.FineTuningService/UpdateModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineTuningServiceClient) DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*DeleteModelResponse, error) { + out := new(DeleteModelResponse) + err := c.cc.Invoke(ctx, "/gooseai.FineTuningService/DeleteModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineTuningServiceClient) ResubmitModel(ctx context.Context, in *ResubmitModelRequest, opts ...grpc.CallOption) (*ResubmitModelResponse, error) { + out := new(ResubmitModelResponse) + err := c.cc.Invoke(ctx, "/gooseai.FineTuningService/ResubmitModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineTuningServiceClient) ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error) { + out := new(ListModelsResponse) + err := c.cc.Invoke(ctx, "/gooseai.FineTuningService/ListModels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FineTuningServiceServer is the server API for FineTuningService service. +// All implementations must embed UnimplementedFineTuningServiceServer +// for forward compatibility +type FineTuningServiceServer interface { + // Create a new model and begin the fine tuning process + CreateModel(context.Context, *CreateModelRequest) (*CreateModelResponse, error) + // Get a FineTuningModel + GetModel(context.Context, *GetModelRequest) (*GetModelResponse, error) + // Update a FineTuningModel by id + UpdateModel(context.Context, *UpdateModelRequest) (*UpdateModelResponse, error) + // Delete a fine tuned model + DeleteModel(context.Context, *DeleteModelRequest) (*DeleteModelResponse, error) + // Re-run training, does not create a new model + ResubmitModel(context.Context, *ResubmitModelRequest) (*ResubmitModelResponse, error) + // List all the fine tuned models for an organization or user + ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error) + mustEmbedUnimplementedFineTuningServiceServer() +} + +// UnimplementedFineTuningServiceServer must be embedded to have forward compatible implementations. +type UnimplementedFineTuningServiceServer struct { +} + +func (UnimplementedFineTuningServiceServer) CreateModel(context.Context, *CreateModelRequest) (*CreateModelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateModel not implemented") +} +func (UnimplementedFineTuningServiceServer) GetModel(context.Context, *GetModelRequest) (*GetModelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModel not implemented") +} +func (UnimplementedFineTuningServiceServer) UpdateModel(context.Context, *UpdateModelRequest) (*UpdateModelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateModel not implemented") +} +func (UnimplementedFineTuningServiceServer) DeleteModel(context.Context, *DeleteModelRequest) (*DeleteModelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteModel not implemented") +} +func (UnimplementedFineTuningServiceServer) ResubmitModel(context.Context, *ResubmitModelRequest) (*ResubmitModelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResubmitModel not implemented") +} +func (UnimplementedFineTuningServiceServer) ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModels not implemented") +} +func (UnimplementedFineTuningServiceServer) mustEmbedUnimplementedFineTuningServiceServer() {} + +// UnsafeFineTuningServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to FineTuningServiceServer will +// result in compilation errors. +type UnsafeFineTuningServiceServer interface { + mustEmbedUnimplementedFineTuningServiceServer() +} + +func RegisterFineTuningServiceServer(s grpc.ServiceRegistrar, srv FineTuningServiceServer) { + s.RegisterService(&FineTuningService_ServiceDesc, srv) +} + +func _FineTuningService_CreateModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineTuningServiceServer).CreateModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.FineTuningService/CreateModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineTuningServiceServer).CreateModel(ctx, req.(*CreateModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineTuningService_GetModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineTuningServiceServer).GetModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.FineTuningService/GetModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineTuningServiceServer).GetModel(ctx, req.(*GetModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineTuningService_UpdateModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineTuningServiceServer).UpdateModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.FineTuningService/UpdateModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineTuningServiceServer).UpdateModel(ctx, req.(*UpdateModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineTuningService_DeleteModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineTuningServiceServer).DeleteModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.FineTuningService/DeleteModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineTuningServiceServer).DeleteModel(ctx, req.(*DeleteModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineTuningService_ResubmitModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResubmitModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineTuningServiceServer).ResubmitModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.FineTuningService/ResubmitModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineTuningServiceServer).ResubmitModel(ctx, req.(*ResubmitModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineTuningService_ListModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListModelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineTuningServiceServer).ListModels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.FineTuningService/ListModels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineTuningServiceServer).ListModels(ctx, req.(*ListModelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// FineTuningService_ServiceDesc is the grpc.ServiceDesc for FineTuningService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var FineTuningService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "gooseai.FineTuningService", + HandlerType: (*FineTuningServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateModel", + Handler: _FineTuningService_CreateModel_Handler, + }, + { + MethodName: "GetModel", + Handler: _FineTuningService_GetModel_Handler, + }, + { + MethodName: "UpdateModel", + Handler: _FineTuningService_UpdateModel_Handler, + }, + { + MethodName: "DeleteModel", + Handler: _FineTuningService_DeleteModel_Handler, + }, + { + MethodName: "ResubmitModel", + Handler: _FineTuningService_ResubmitModel_Handler, + }, + { + MethodName: "ListModels", + Handler: _FineTuningService_ListModels_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "finetuning.proto", +} diff --git a/gooseai/finetuning/finetuning_grpc_pb.d.ts b/gooseai/finetuning/finetuning_grpc_pb.d.ts new file mode 100644 index 0000000..0305ecb --- /dev/null +++ b/gooseai/finetuning/finetuning_grpc_pb.d.ts @@ -0,0 +1,49 @@ +// GENERATED CODE -- DO NOT EDIT! + +// package: gooseai +// file: finetuning.proto + +import * as finetuning_pb from "./finetuning_pb"; +import * as grpc from "grpc"; + +interface IFineTuningServiceService extends grpc.ServiceDefinition { + createModel: grpc.MethodDefinition; + getModel: grpc.MethodDefinition; + updateModel: grpc.MethodDefinition; + deleteModel: grpc.MethodDefinition; + resubmitModel: grpc.MethodDefinition; + listModels: grpc.MethodDefinition; +} + +export const FineTuningServiceService: IFineTuningServiceService; + +export interface IFineTuningServiceServer extends grpc.UntypedServiceImplementation { + createModel: grpc.handleUnaryCall; + getModel: grpc.handleUnaryCall; + updateModel: grpc.handleUnaryCall; + deleteModel: grpc.handleUnaryCall; + resubmitModel: grpc.handleUnaryCall; + listModels: grpc.handleUnaryCall; +} + +export class FineTuningServiceClient extends grpc.Client { + constructor(address: string, credentials: grpc.ChannelCredentials, options?: object); + createModel(argument: finetuning_pb.CreateModelRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + createModel(argument: finetuning_pb.CreateModelRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + createModel(argument: finetuning_pb.CreateModelRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + getModel(argument: finetuning_pb.GetModelRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + getModel(argument: finetuning_pb.GetModelRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + getModel(argument: finetuning_pb.GetModelRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + updateModel(argument: finetuning_pb.UpdateModelRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + updateModel(argument: finetuning_pb.UpdateModelRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + updateModel(argument: finetuning_pb.UpdateModelRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + deleteModel(argument: finetuning_pb.DeleteModelRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + deleteModel(argument: finetuning_pb.DeleteModelRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + deleteModel(argument: finetuning_pb.DeleteModelRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + resubmitModel(argument: finetuning_pb.ResubmitModelRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + resubmitModel(argument: finetuning_pb.ResubmitModelRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + resubmitModel(argument: finetuning_pb.ResubmitModelRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + listModels(argument: finetuning_pb.ListModelsRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + listModels(argument: finetuning_pb.ListModelsRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + listModels(argument: finetuning_pb.ListModelsRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; +} diff --git a/gooseai/finetuning/finetuning_grpc_pb.js b/gooseai/finetuning/finetuning_grpc_pb.js new file mode 100644 index 0000000..f48f7d3 --- /dev/null +++ b/gooseai/finetuning/finetuning_grpc_pb.js @@ -0,0 +1,216 @@ +// GENERATED CODE -- DO NOT EDIT! + +'use strict'; +var grpc = require('grpc'); +var finetuning_pb = require('./finetuning_pb.js'); +var google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js'); + +function serialize_gooseai_CreateModelRequest(arg) { + if (!(arg instanceof finetuning_pb.CreateModelRequest)) { + throw new Error('Expected argument of type gooseai.CreateModelRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_CreateModelRequest(buffer_arg) { + return finetuning_pb.CreateModelRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_CreateModelResponse(arg) { + if (!(arg instanceof finetuning_pb.CreateModelResponse)) { + throw new Error('Expected argument of type gooseai.CreateModelResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_CreateModelResponse(buffer_arg) { + return finetuning_pb.CreateModelResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_DeleteModelRequest(arg) { + if (!(arg instanceof finetuning_pb.DeleteModelRequest)) { + throw new Error('Expected argument of type gooseai.DeleteModelRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_DeleteModelRequest(buffer_arg) { + return finetuning_pb.DeleteModelRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_DeleteModelResponse(arg) { + if (!(arg instanceof finetuning_pb.DeleteModelResponse)) { + throw new Error('Expected argument of type gooseai.DeleteModelResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_DeleteModelResponse(buffer_arg) { + return finetuning_pb.DeleteModelResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_GetModelRequest(arg) { + if (!(arg instanceof finetuning_pb.GetModelRequest)) { + throw new Error('Expected argument of type gooseai.GetModelRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_GetModelRequest(buffer_arg) { + return finetuning_pb.GetModelRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_GetModelResponse(arg) { + if (!(arg instanceof finetuning_pb.GetModelResponse)) { + throw new Error('Expected argument of type gooseai.GetModelResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_GetModelResponse(buffer_arg) { + return finetuning_pb.GetModelResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_ListModelsRequest(arg) { + if (!(arg instanceof finetuning_pb.ListModelsRequest)) { + throw new Error('Expected argument of type gooseai.ListModelsRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_ListModelsRequest(buffer_arg) { + return finetuning_pb.ListModelsRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_ListModelsResponse(arg) { + if (!(arg instanceof finetuning_pb.ListModelsResponse)) { + throw new Error('Expected argument of type gooseai.ListModelsResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_ListModelsResponse(buffer_arg) { + return finetuning_pb.ListModelsResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_ResubmitModelRequest(arg) { + if (!(arg instanceof finetuning_pb.ResubmitModelRequest)) { + throw new Error('Expected argument of type gooseai.ResubmitModelRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_ResubmitModelRequest(buffer_arg) { + return finetuning_pb.ResubmitModelRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_ResubmitModelResponse(arg) { + if (!(arg instanceof finetuning_pb.ResubmitModelResponse)) { + throw new Error('Expected argument of type gooseai.ResubmitModelResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_ResubmitModelResponse(buffer_arg) { + return finetuning_pb.ResubmitModelResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_UpdateModelRequest(arg) { + if (!(arg instanceof finetuning_pb.UpdateModelRequest)) { + throw new Error('Expected argument of type gooseai.UpdateModelRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_UpdateModelRequest(buffer_arg) { + return finetuning_pb.UpdateModelRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_gooseai_UpdateModelResponse(arg) { + if (!(arg instanceof finetuning_pb.UpdateModelResponse)) { + throw new Error('Expected argument of type gooseai.UpdateModelResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_UpdateModelResponse(buffer_arg) { + return finetuning_pb.UpdateModelResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + + +var FineTuningServiceService = exports.FineTuningServiceService = { + // Create a new model and begin the fine tuning process +createModel: { + path: '/gooseai.FineTuningService/CreateModel', + requestStream: false, + responseStream: false, + requestType: finetuning_pb.CreateModelRequest, + responseType: finetuning_pb.CreateModelResponse, + requestSerialize: serialize_gooseai_CreateModelRequest, + requestDeserialize: deserialize_gooseai_CreateModelRequest, + responseSerialize: serialize_gooseai_CreateModelResponse, + responseDeserialize: deserialize_gooseai_CreateModelResponse, + }, + // Get a FineTuningModel +getModel: { + path: '/gooseai.FineTuningService/GetModel', + requestStream: false, + responseStream: false, + requestType: finetuning_pb.GetModelRequest, + responseType: finetuning_pb.GetModelResponse, + requestSerialize: serialize_gooseai_GetModelRequest, + requestDeserialize: deserialize_gooseai_GetModelRequest, + responseSerialize: serialize_gooseai_GetModelResponse, + responseDeserialize: deserialize_gooseai_GetModelResponse, + }, + // Update a FineTuningModel by id +updateModel: { + path: '/gooseai.FineTuningService/UpdateModel', + requestStream: false, + responseStream: false, + requestType: finetuning_pb.UpdateModelRequest, + responseType: finetuning_pb.UpdateModelResponse, + requestSerialize: serialize_gooseai_UpdateModelRequest, + requestDeserialize: deserialize_gooseai_UpdateModelRequest, + responseSerialize: serialize_gooseai_UpdateModelResponse, + responseDeserialize: deserialize_gooseai_UpdateModelResponse, + }, + // Delete a fine tuned model +deleteModel: { + path: '/gooseai.FineTuningService/DeleteModel', + requestStream: false, + responseStream: false, + requestType: finetuning_pb.DeleteModelRequest, + responseType: finetuning_pb.DeleteModelResponse, + requestSerialize: serialize_gooseai_DeleteModelRequest, + requestDeserialize: deserialize_gooseai_DeleteModelRequest, + responseSerialize: serialize_gooseai_DeleteModelResponse, + responseDeserialize: deserialize_gooseai_DeleteModelResponse, + }, + // Re-run training, does not create a new model +resubmitModel: { + path: '/gooseai.FineTuningService/ResubmitModel', + requestStream: false, + responseStream: false, + requestType: finetuning_pb.ResubmitModelRequest, + responseType: finetuning_pb.ResubmitModelResponse, + requestSerialize: serialize_gooseai_ResubmitModelRequest, + requestDeserialize: deserialize_gooseai_ResubmitModelRequest, + responseSerialize: serialize_gooseai_ResubmitModelResponse, + responseDeserialize: deserialize_gooseai_ResubmitModelResponse, + }, + // List all the fine tuned models for an organization or user +listModels: { + path: '/gooseai.FineTuningService/ListModels', + requestStream: false, + responseStream: false, + requestType: finetuning_pb.ListModelsRequest, + responseType: finetuning_pb.ListModelsResponse, + requestSerialize: serialize_gooseai_ListModelsRequest, + requestDeserialize: deserialize_gooseai_ListModelsRequest, + responseSerialize: serialize_gooseai_ListModelsResponse, + responseDeserialize: deserialize_gooseai_ListModelsResponse, + }, +}; + +exports.FineTuningServiceClient = grpc.makeGenericClientConstructor(FineTuningServiceService); diff --git a/gooseai/finetuning/finetuning_pb.d.ts b/gooseai/finetuning/finetuning_pb.d.ts new file mode 100644 index 0000000..8625863 --- /dev/null +++ b/gooseai/finetuning/finetuning_pb.d.ts @@ -0,0 +1,404 @@ +// package: gooseai +// file: finetuning.proto + +import * as jspb from "google-protobuf"; +import * as google_protobuf_struct_pb from "google-protobuf/google/protobuf/struct_pb"; + +export class FineTuningModel extends jspb.Message { + getId(): string; + setId(value: string): void; + + getUserId(): string; + setUserId(value: string): void; + + getName(): string; + setName(value: string): void; + + hasMode(): boolean; + clearMode(): void; + getMode(): FineTuningModeMap[keyof FineTuningModeMap]; + setMode(value: FineTuningModeMap[keyof FineTuningModeMap]): void; + + hasObjectPrompt(): boolean; + clearObjectPrompt(): void; + getObjectPrompt(): string; + setObjectPrompt(value: string): void; + + getProjectId(): string; + setProjectId(value: string): void; + + getDuration(): number; + setDuration(value: number): void; + + getStatus(): FineTuningStatusMap[keyof FineTuningStatusMap]; + setStatus(value: FineTuningStatusMap[keyof FineTuningStatusMap]): void; + + getEngineId(): string; + setEngineId(value: string): void; + + hasFailureReason(): boolean; + clearFailureReason(): void; + getFailureReason(): string; + setFailureReason(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): FineTuningModel.AsObject; + static toObject(includeInstance: boolean, msg: FineTuningModel): FineTuningModel.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: FineTuningModel, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): FineTuningModel; + static deserializeBinaryFromReader(message: FineTuningModel, reader: jspb.BinaryReader): FineTuningModel; +} + +export namespace FineTuningModel { + export type AsObject = { + id: string, + userId: string, + name: string, + mode: FineTuningModeMap[keyof FineTuningModeMap], + objectPrompt: string, + projectId: string, + duration: number, + status: FineTuningStatusMap[keyof FineTuningStatusMap], + engineId: string, + failureReason: string, + } +} + +export class CreateModelRequest extends jspb.Message { + getName(): string; + setName(value: string): void; + + hasMode(): boolean; + clearMode(): void; + getMode(): FineTuningModeMap[keyof FineTuningModeMap]; + setMode(value: FineTuningModeMap[keyof FineTuningModeMap]): void; + + hasObjectPrompt(): boolean; + clearObjectPrompt(): void; + getObjectPrompt(): string; + setObjectPrompt(value: string): void; + + getProjectId(): string; + setProjectId(value: string): void; + + getEngineId(): string; + setEngineId(value: string): void; + + hasExtras(): boolean; + clearExtras(): void; + getExtras(): google_protobuf_struct_pb.Struct | undefined; + setExtras(value?: google_protobuf_struct_pb.Struct): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CreateModelRequest.AsObject; + static toObject(includeInstance: boolean, msg: CreateModelRequest): CreateModelRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CreateModelRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CreateModelRequest; + static deserializeBinaryFromReader(message: CreateModelRequest, reader: jspb.BinaryReader): CreateModelRequest; +} + +export namespace CreateModelRequest { + export type AsObject = { + name: string, + mode: FineTuningModeMap[keyof FineTuningModeMap], + objectPrompt: string, + projectId: string, + engineId: string, + extras?: google_protobuf_struct_pb.Struct.AsObject, + } +} + +export class CreateModelResponse extends jspb.Message { + hasModel(): boolean; + clearModel(): void; + getModel(): FineTuningModel | undefined; + setModel(value?: FineTuningModel): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CreateModelResponse.AsObject; + static toObject(includeInstance: boolean, msg: CreateModelResponse): CreateModelResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CreateModelResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CreateModelResponse; + static deserializeBinaryFromReader(message: CreateModelResponse, reader: jspb.BinaryReader): CreateModelResponse; +} + +export namespace CreateModelResponse { + export type AsObject = { + model?: FineTuningModel.AsObject, + } +} + +export class GetModelRequest extends jspb.Message { + getId(): string; + setId(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetModelRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetModelRequest): GetModelRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetModelRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetModelRequest; + static deserializeBinaryFromReader(message: GetModelRequest, reader: jspb.BinaryReader): GetModelRequest; +} + +export namespace GetModelRequest { + export type AsObject = { + id: string, + } +} + +export class GetModelResponse extends jspb.Message { + hasModel(): boolean; + clearModel(): void; + getModel(): FineTuningModel | undefined; + setModel(value?: FineTuningModel): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetModelResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetModelResponse): GetModelResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetModelResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetModelResponse; + static deserializeBinaryFromReader(message: GetModelResponse, reader: jspb.BinaryReader): GetModelResponse; +} + +export namespace GetModelResponse { + export type AsObject = { + model?: FineTuningModel.AsObject, + } +} + +export class UpdateModelRequest extends jspb.Message { + getId(): string; + setId(value: string): void; + + hasName(): boolean; + clearName(): void; + getName(): string; + setName(value: string): void; + + hasMode(): boolean; + clearMode(): void; + getMode(): FineTuningModeMap[keyof FineTuningModeMap]; + setMode(value: FineTuningModeMap[keyof FineTuningModeMap]): void; + + hasObjectPrompt(): boolean; + clearObjectPrompt(): void; + getObjectPrompt(): string; + setObjectPrompt(value: string): void; + + hasEngineId(): boolean; + clearEngineId(): void; + getEngineId(): string; + setEngineId(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateModelRequest.AsObject; + static toObject(includeInstance: boolean, msg: UpdateModelRequest): UpdateModelRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateModelRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateModelRequest; + static deserializeBinaryFromReader(message: UpdateModelRequest, reader: jspb.BinaryReader): UpdateModelRequest; +} + +export namespace UpdateModelRequest { + export type AsObject = { + id: string, + name: string, + mode: FineTuningModeMap[keyof FineTuningModeMap], + objectPrompt: string, + engineId: string, + } +} + +export class UpdateModelResponse extends jspb.Message { + hasModel(): boolean; + clearModel(): void; + getModel(): FineTuningModel | undefined; + setModel(value?: FineTuningModel): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateModelResponse.AsObject; + static toObject(includeInstance: boolean, msg: UpdateModelResponse): UpdateModelResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateModelResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateModelResponse; + static deserializeBinaryFromReader(message: UpdateModelResponse, reader: jspb.BinaryReader): UpdateModelResponse; +} + +export namespace UpdateModelResponse { + export type AsObject = { + model?: FineTuningModel.AsObject, + } +} + +export class DeleteModelRequest extends jspb.Message { + getId(): string; + setId(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DeleteModelRequest.AsObject; + static toObject(includeInstance: boolean, msg: DeleteModelRequest): DeleteModelRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DeleteModelRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DeleteModelRequest; + static deserializeBinaryFromReader(message: DeleteModelRequest, reader: jspb.BinaryReader): DeleteModelRequest; +} + +export namespace DeleteModelRequest { + export type AsObject = { + id: string, + } +} + +export class DeleteModelResponse extends jspb.Message { + hasModel(): boolean; + clearModel(): void; + getModel(): FineTuningModel | undefined; + setModel(value?: FineTuningModel): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): DeleteModelResponse.AsObject; + static toObject(includeInstance: boolean, msg: DeleteModelResponse): DeleteModelResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: DeleteModelResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): DeleteModelResponse; + static deserializeBinaryFromReader(message: DeleteModelResponse, reader: jspb.BinaryReader): DeleteModelResponse; +} + +export namespace DeleteModelResponse { + export type AsObject = { + model?: FineTuningModel.AsObject, + } +} + +export class ResubmitModelRequest extends jspb.Message { + getId(): string; + setId(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ResubmitModelRequest.AsObject; + static toObject(includeInstance: boolean, msg: ResubmitModelRequest): ResubmitModelRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ResubmitModelRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ResubmitModelRequest; + static deserializeBinaryFromReader(message: ResubmitModelRequest, reader: jspb.BinaryReader): ResubmitModelRequest; +} + +export namespace ResubmitModelRequest { + export type AsObject = { + id: string, + } +} + +export class ResubmitModelResponse extends jspb.Message { + hasModel(): boolean; + clearModel(): void; + getModel(): FineTuningModel | undefined; + setModel(value?: FineTuningModel): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ResubmitModelResponse.AsObject; + static toObject(includeInstance: boolean, msg: ResubmitModelResponse): ResubmitModelResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ResubmitModelResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ResubmitModelResponse; + static deserializeBinaryFromReader(message: ResubmitModelResponse, reader: jspb.BinaryReader): ResubmitModelResponse; +} + +export namespace ResubmitModelResponse { + export type AsObject = { + model?: FineTuningModel.AsObject, + } +} + +export class ListModelsRequest extends jspb.Message { + hasOrgId(): boolean; + clearOrgId(): void; + getOrgId(): string; + setOrgId(value: string): void; + + hasUserId(): boolean; + clearUserId(): void; + getUserId(): string; + setUserId(value: string): void; + + getIdCase(): ListModelsRequest.IdCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ListModelsRequest.AsObject; + static toObject(includeInstance: boolean, msg: ListModelsRequest): ListModelsRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ListModelsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ListModelsRequest; + static deserializeBinaryFromReader(message: ListModelsRequest, reader: jspb.BinaryReader): ListModelsRequest; +} + +export namespace ListModelsRequest { + export type AsObject = { + orgId: string, + userId: string, + } + + export enum IdCase { + ID_NOT_SET = 0, + ORG_ID = 1, + USER_ID = 2, + } +} + +export class ListModelsResponse extends jspb.Message { + clearModelsList(): void; + getModelsList(): Array; + setModelsList(value: Array): void; + addModels(value?: FineTuningModel, index?: number): FineTuningModel; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ListModelsResponse.AsObject; + static toObject(includeInstance: boolean, msg: ListModelsResponse): ListModelsResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ListModelsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ListModelsResponse; + static deserializeBinaryFromReader(message: ListModelsResponse, reader: jspb.BinaryReader): ListModelsResponse; +} + +export namespace ListModelsResponse { + export type AsObject = { + modelsList: Array, + } +} + +export interface FineTuningModeMap { + FINE_TUNING_MODE_UNSPECIFIED: 0; + FINE_TUNING_MODE_FACE: 1; + FINE_TUNING_MODE_STYLE: 2; + FINE_TUNING_MODE_OBJECT: 3; +} + +export const FineTuningMode: FineTuningModeMap; + +export interface FineTuningStatusMap { + FINE_TUNING_STATUS_NOT_STARTED: 0; + FINE_TUNING_STATUS_RUNNING: 1; + FINE_TUNING_STATUS_COMPLETED: 2; + FINE_TUNING_STATUS_FAILED: 3; + FINE_TUNING_STATUS_SUBMITTED: 4; +} + +export const FineTuningStatus: FineTuningStatusMap; + diff --git a/gooseai/finetuning/finetuning_pb.js b/gooseai/finetuning/finetuning_pb.js new file mode 100644 index 0000000..b569408 --- /dev/null +++ b/gooseai/finetuning/finetuning_pb.js @@ -0,0 +1,2976 @@ +// source: finetuning.proto +/** + * @fileoverview + * @enhanceable + * @suppress {missingRequire} reports error on implicit type usages. + * @suppress {messageConventions} JS Compiler reports an error if a variable or + * field starts with 'MSG_' and isn't a translatable message. + * @public + */ +// GENERATED CODE -- DO NOT EDIT! +/* eslint-disable */ +// @ts-nocheck + +var jspb = require('google-protobuf'); +var goog = jspb; +var global = (function() { + if (this) { return this; } + if (typeof window !== 'undefined') { return window; } + if (typeof global !== 'undefined') { return global; } + if (typeof self !== 'undefined') { return self; } + return Function('return this')(); +}.call(null)); + +var google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js'); +goog.object.extend(proto, google_protobuf_struct_pb); +goog.exportSymbol('proto.gooseai.CreateModelRequest', null, global); +goog.exportSymbol('proto.gooseai.CreateModelResponse', null, global); +goog.exportSymbol('proto.gooseai.DeleteModelRequest', null, global); +goog.exportSymbol('proto.gooseai.DeleteModelResponse', null, global); +goog.exportSymbol('proto.gooseai.FineTuningMode', null, global); +goog.exportSymbol('proto.gooseai.FineTuningModel', null, global); +goog.exportSymbol('proto.gooseai.FineTuningStatus', null, global); +goog.exportSymbol('proto.gooseai.GetModelRequest', null, global); +goog.exportSymbol('proto.gooseai.GetModelResponse', null, global); +goog.exportSymbol('proto.gooseai.ListModelsRequest', null, global); +goog.exportSymbol('proto.gooseai.ListModelsRequest.IdCase', null, global); +goog.exportSymbol('proto.gooseai.ListModelsResponse', null, global); +goog.exportSymbol('proto.gooseai.ResubmitModelRequest', null, global); +goog.exportSymbol('proto.gooseai.ResubmitModelResponse', null, global); +goog.exportSymbol('proto.gooseai.UpdateModelRequest', null, global); +goog.exportSymbol('proto.gooseai.UpdateModelResponse', null, global); +/** + * 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.FineTuningModel = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.FineTuningModel, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.FineTuningModel.displayName = 'proto.gooseai.FineTuningModel'; +} +/** + * 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.CreateModelRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, 500, null, null); +}; +goog.inherits(proto.gooseai.CreateModelRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.CreateModelRequest.displayName = 'proto.gooseai.CreateModelRequest'; +} +/** + * 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.CreateModelResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.CreateModelResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.CreateModelResponse.displayName = 'proto.gooseai.CreateModelResponse'; +} +/** + * 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.GetModelRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.GetModelRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.GetModelRequest.displayName = 'proto.gooseai.GetModelRequest'; +} +/** + * 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.GetModelResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.GetModelResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.GetModelResponse.displayName = 'proto.gooseai.GetModelResponse'; +} +/** + * 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.UpdateModelRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.UpdateModelRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.UpdateModelRequest.displayName = 'proto.gooseai.UpdateModelRequest'; +} +/** + * 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.UpdateModelResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.UpdateModelResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.UpdateModelResponse.displayName = 'proto.gooseai.UpdateModelResponse'; +} +/** + * 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.DeleteModelRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.DeleteModelRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.DeleteModelRequest.displayName = 'proto.gooseai.DeleteModelRequest'; +} +/** + * 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.DeleteModelResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.DeleteModelResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.DeleteModelResponse.displayName = 'proto.gooseai.DeleteModelResponse'; +} +/** + * 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.ResubmitModelRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.ResubmitModelRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.ResubmitModelRequest.displayName = 'proto.gooseai.ResubmitModelRequest'; +} +/** + * 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.ResubmitModelResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.ResubmitModelResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.ResubmitModelResponse.displayName = 'proto.gooseai.ResubmitModelResponse'; +} +/** + * 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.ListModelsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.gooseai.ListModelsRequest.oneofGroups_); +}; +goog.inherits(proto.gooseai.ListModelsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.ListModelsRequest.displayName = 'proto.gooseai.ListModelsRequest'; +} +/** + * 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.ListModelsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.gooseai.ListModelsResponse.repeatedFields_, null); +}; +goog.inherits(proto.gooseai.ListModelsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.ListModelsResponse.displayName = 'proto.gooseai.ListModelsResponse'; +} + + + +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.FineTuningModel.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.FineTuningModel.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.FineTuningModel} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.FineTuningModel.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + userId: jspb.Message.getFieldWithDefault(msg, 2, ""), + name: jspb.Message.getFieldWithDefault(msg, 3, ""), + mode: jspb.Message.getFieldWithDefault(msg, 4, 0), + objectPrompt: jspb.Message.getFieldWithDefault(msg, 5, ""), + projectId: jspb.Message.getFieldWithDefault(msg, 6, ""), + duration: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0), + status: jspb.Message.getFieldWithDefault(msg, 8, 0), + engineId: jspb.Message.getFieldWithDefault(msg, 9, ""), + failureReason: jspb.Message.getFieldWithDefault(msg, 10, "") + }; + + 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.FineTuningModel} + */ +proto.gooseai.FineTuningModel.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.FineTuningModel; + return proto.gooseai.FineTuningModel.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.FineTuningModel} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.FineTuningModel} + */ +proto.gooseai.FineTuningModel.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.setId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setUserId(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 4: + var value = /** @type {!proto.gooseai.FineTuningMode} */ (reader.readEnum()); + msg.setMode(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setObjectPrompt(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setProjectId(value); + break; + case 7: + var value = /** @type {number} */ (reader.readDouble()); + msg.setDuration(value); + break; + case 8: + var value = /** @type {!proto.gooseai.FineTuningStatus} */ (reader.readEnum()); + msg.setStatus(value); + break; + case 9: + var value = /** @type {string} */ (reader.readString()); + msg.setEngineId(value); + break; + case 10: + var value = /** @type {string} */ (reader.readString()); + msg.setFailureReason(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.FineTuningModel.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.FineTuningModel.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.FineTuningModel} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.FineTuningModel.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getUserId(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = /** @type {!proto.gooseai.FineTuningMode} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeEnum( + 4, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 5)); + if (f != null) { + writer.writeString( + 5, + f + ); + } + f = message.getProjectId(); + if (f.length > 0) { + writer.writeString( + 6, + f + ); + } + f = message.getDuration(); + if (f !== 0.0) { + writer.writeDouble( + 7, + f + ); + } + f = message.getStatus(); + if (f !== 0.0) { + writer.writeEnum( + 8, + f + ); + } + f = message.getEngineId(); + if (f.length > 0) { + writer.writeString( + 9, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 10)); + if (f != null) { + writer.writeString( + 10, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string user_id = 2; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getUserId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setUserId = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string name = 3; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional FineTuningMode mode = 4; + * @return {!proto.gooseai.FineTuningMode} + */ +proto.gooseai.FineTuningModel.prototype.getMode = function() { + return /** @type {!proto.gooseai.FineTuningMode} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {!proto.gooseai.FineTuningMode} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setMode = function(value) { + return jspb.Message.setField(this, 4, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.clearMode = function() { + return jspb.Message.setField(this, 4, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.FineTuningModel.prototype.hasMode = function() { + return jspb.Message.getField(this, 4) != null; +}; + + +/** + * optional string object_prompt = 5; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getObjectPrompt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setObjectPrompt = function(value) { + return jspb.Message.setField(this, 5, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.clearObjectPrompt = function() { + return jspb.Message.setField(this, 5, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.FineTuningModel.prototype.hasObjectPrompt = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional string project_id = 6; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getProjectId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setProjectId = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); +}; + + +/** + * optional double duration = 7; + * @return {number} + */ +proto.gooseai.FineTuningModel.prototype.getDuration = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0)); +}; + + +/** + * @param {number} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setDuration = function(value) { + return jspb.Message.setProto3FloatField(this, 7, value); +}; + + +/** + * optional FineTuningStatus status = 8; + * @return {!proto.gooseai.FineTuningStatus} + */ +proto.gooseai.FineTuningModel.prototype.getStatus = function() { + return /** @type {!proto.gooseai.FineTuningStatus} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); +}; + + +/** + * @param {!proto.gooseai.FineTuningStatus} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setStatus = function(value) { + return jspb.Message.setProto3EnumField(this, 8, value); +}; + + +/** + * optional string engine_id = 9; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getEngineId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setEngineId = function(value) { + return jspb.Message.setProto3StringField(this, 9, value); +}; + + +/** + * optional string failure_reason = 10; + * @return {string} + */ +proto.gooseai.FineTuningModel.prototype.getFailureReason = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.setFailureReason = function(value) { + return jspb.Message.setField(this, 10, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.FineTuningModel} returns this + */ +proto.gooseai.FineTuningModel.prototype.clearFailureReason = function() { + return jspb.Message.setField(this, 10, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.FineTuningModel.prototype.hasFailureReason = function() { + return jspb.Message.getField(this, 10) != null; +}; + + + + + +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.CreateModelRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.CreateModelRequest.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.CreateModelRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.CreateModelRequest.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + mode: jspb.Message.getFieldWithDefault(msg, 2, 0), + objectPrompt: jspb.Message.getFieldWithDefault(msg, 3, ""), + projectId: jspb.Message.getFieldWithDefault(msg, 4, ""), + engineId: jspb.Message.getFieldWithDefault(msg, 5, ""), + extras: (f = msg.getExtras()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f) + }; + + 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.CreateModelRequest} + */ +proto.gooseai.CreateModelRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.CreateModelRequest; + return proto.gooseai.CreateModelRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.CreateModelRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.CreateModelRequest} + */ +proto.gooseai.CreateModelRequest.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.setName(value); + break; + case 2: + var value = /** @type {!proto.gooseai.FineTuningMode} */ (reader.readEnum()); + msg.setMode(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setObjectPrompt(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setProjectId(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setEngineId(value); + break; + case 2047: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.setExtras(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.CreateModelRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.CreateModelRequest.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.CreateModelRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.CreateModelRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = /** @type {!proto.gooseai.FineTuningMode} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeEnum( + 2, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeString( + 3, + f + ); + } + f = message.getProjectId(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getEngineId(); + if (f.length > 0) { + writer.writeString( + 5, + f + ); + } + f = message.getExtras(); + if (f != null) { + writer.writeMessage( + 2047, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.gooseai.CreateModelRequest.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional FineTuningMode mode = 2; + * @return {!proto.gooseai.FineTuningMode} + */ +proto.gooseai.CreateModelRequest.prototype.getMode = function() { + return /** @type {!proto.gooseai.FineTuningMode} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.gooseai.FineTuningMode} value + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.setMode = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.clearMode = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.CreateModelRequest.prototype.hasMode = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional string object_prompt = 3; + * @return {string} + */ +proto.gooseai.CreateModelRequest.prototype.getObjectPrompt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.setObjectPrompt = function(value) { + return jspb.Message.setField(this, 3, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.clearObjectPrompt = function() { + return jspb.Message.setField(this, 3, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.CreateModelRequest.prototype.hasObjectPrompt = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional string project_id = 4; + * @return {string} + */ +proto.gooseai.CreateModelRequest.prototype.getProjectId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.setProjectId = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); +}; + + +/** + * optional string engine_id = 5; + * @return {string} + */ +proto.gooseai.CreateModelRequest.prototype.getEngineId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.setEngineId = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); +}; + + +/** + * optional google.protobuf.Struct extras = 2047; + * @return {?proto.google.protobuf.Struct} + */ +proto.gooseai.CreateModelRequest.prototype.getExtras = function() { + return /** @type{?proto.google.protobuf.Struct} */ ( + jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2047)); +}; + + +/** + * @param {?proto.google.protobuf.Struct|undefined} value + * @return {!proto.gooseai.CreateModelRequest} returns this +*/ +proto.gooseai.CreateModelRequest.prototype.setExtras = function(value) { + return jspb.Message.setWrapperField(this, 2047, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.CreateModelRequest} returns this + */ +proto.gooseai.CreateModelRequest.prototype.clearExtras = function() { + return this.setExtras(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.CreateModelRequest.prototype.hasExtras = function() { + return jspb.Message.getField(this, 2047) != null; +}; + + + + + +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.CreateModelResponse.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.CreateModelResponse.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.CreateModelResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.CreateModelResponse.toObject = function(includeInstance, msg) { + var f, obj = { + model: (f = msg.getModel()) && proto.gooseai.FineTuningModel.toObject(includeInstance, f) + }; + + 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.CreateModelResponse} + */ +proto.gooseai.CreateModelResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.CreateModelResponse; + return proto.gooseai.CreateModelResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.CreateModelResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.CreateModelResponse} + */ +proto.gooseai.CreateModelResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.gooseai.FineTuningModel; + reader.readMessage(value,proto.gooseai.FineTuningModel.deserializeBinaryFromReader); + msg.setModel(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.CreateModelResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.CreateModelResponse.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.CreateModelResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.CreateModelResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getModel(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.gooseai.FineTuningModel.serializeBinaryToWriter + ); + } +}; + + +/** + * optional FineTuningModel model = 1; + * @return {?proto.gooseai.FineTuningModel} + */ +proto.gooseai.CreateModelResponse.prototype.getModel = function() { + return /** @type{?proto.gooseai.FineTuningModel} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.FineTuningModel, 1)); +}; + + +/** + * @param {?proto.gooseai.FineTuningModel|undefined} value + * @return {!proto.gooseai.CreateModelResponse} returns this +*/ +proto.gooseai.CreateModelResponse.prototype.setModel = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.CreateModelResponse} returns this + */ +proto.gooseai.CreateModelResponse.prototype.clearModel = function() { + return this.setModel(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.CreateModelResponse.prototype.hasModel = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + +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.GetModelRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.GetModelRequest.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.GetModelRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.GetModelRequest.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + 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.GetModelRequest} + */ +proto.gooseai.GetModelRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.GetModelRequest; + return proto.gooseai.GetModelRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.GetModelRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.GetModelRequest} + */ +proto.gooseai.GetModelRequest.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.setId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.GetModelRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.GetModelRequest.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.GetModelRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.GetModelRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.gooseai.GetModelRequest.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.GetModelRequest} returns this + */ +proto.gooseai.GetModelRequest.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +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.GetModelResponse.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.GetModelResponse.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.GetModelResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.GetModelResponse.toObject = function(includeInstance, msg) { + var f, obj = { + model: (f = msg.getModel()) && proto.gooseai.FineTuningModel.toObject(includeInstance, f) + }; + + 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.GetModelResponse} + */ +proto.gooseai.GetModelResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.GetModelResponse; + return proto.gooseai.GetModelResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.GetModelResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.GetModelResponse} + */ +proto.gooseai.GetModelResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.gooseai.FineTuningModel; + reader.readMessage(value,proto.gooseai.FineTuningModel.deserializeBinaryFromReader); + msg.setModel(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.GetModelResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.GetModelResponse.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.GetModelResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.GetModelResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getModel(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.gooseai.FineTuningModel.serializeBinaryToWriter + ); + } +}; + + +/** + * optional FineTuningModel model = 1; + * @return {?proto.gooseai.FineTuningModel} + */ +proto.gooseai.GetModelResponse.prototype.getModel = function() { + return /** @type{?proto.gooseai.FineTuningModel} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.FineTuningModel, 1)); +}; + + +/** + * @param {?proto.gooseai.FineTuningModel|undefined} value + * @return {!proto.gooseai.GetModelResponse} returns this +*/ +proto.gooseai.GetModelResponse.prototype.setModel = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.GetModelResponse} returns this + */ +proto.gooseai.GetModelResponse.prototype.clearModel = function() { + return this.setModel(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.GetModelResponse.prototype.hasModel = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + +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.UpdateModelRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.UpdateModelRequest.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.UpdateModelRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.UpdateModelRequest.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + name: jspb.Message.getFieldWithDefault(msg, 2, ""), + mode: jspb.Message.getFieldWithDefault(msg, 3, 0), + objectPrompt: jspb.Message.getFieldWithDefault(msg, 4, ""), + engineId: jspb.Message.getFieldWithDefault(msg, 5, "") + }; + + 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.UpdateModelRequest} + */ +proto.gooseai.UpdateModelRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.UpdateModelRequest; + return proto.gooseai.UpdateModelRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.UpdateModelRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.UpdateModelRequest} + */ +proto.gooseai.UpdateModelRequest.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.setId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 3: + var value = /** @type {!proto.gooseai.FineTuningMode} */ (reader.readEnum()); + msg.setMode(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setObjectPrompt(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setEngineId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.UpdateModelRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.UpdateModelRequest.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.UpdateModelRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.UpdateModelRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeString( + 2, + f + ); + } + f = /** @type {!proto.gooseai.FineTuningMode} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeEnum( + 3, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeString( + 4, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 5)); + if (f != null) { + writer.writeString( + 5, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.gooseai.UpdateModelRequest.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string name = 2; + * @return {string} + */ +proto.gooseai.UpdateModelRequest.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.setName = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.clearName = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateModelRequest.prototype.hasName = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional FineTuningMode mode = 3; + * @return {!proto.gooseai.FineTuningMode} + */ +proto.gooseai.UpdateModelRequest.prototype.getMode = function() { + return /** @type {!proto.gooseai.FineTuningMode} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {!proto.gooseai.FineTuningMode} value + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.setMode = function(value) { + return jspb.Message.setField(this, 3, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.clearMode = function() { + return jspb.Message.setField(this, 3, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateModelRequest.prototype.hasMode = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional string object_prompt = 4; + * @return {string} + */ +proto.gooseai.UpdateModelRequest.prototype.getObjectPrompt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.setObjectPrompt = function(value) { + return jspb.Message.setField(this, 4, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.clearObjectPrompt = function() { + return jspb.Message.setField(this, 4, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateModelRequest.prototype.hasObjectPrompt = function() { + return jspb.Message.getField(this, 4) != null; +}; + + +/** + * optional string engine_id = 5; + * @return {string} + */ +proto.gooseai.UpdateModelRequest.prototype.getEngineId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.setEngineId = function(value) { + return jspb.Message.setField(this, 5, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.UpdateModelRequest} returns this + */ +proto.gooseai.UpdateModelRequest.prototype.clearEngineId = function() { + return jspb.Message.setField(this, 5, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateModelRequest.prototype.hasEngineId = function() { + return jspb.Message.getField(this, 5) != null; +}; + + + + + +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.UpdateModelResponse.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.UpdateModelResponse.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.UpdateModelResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.UpdateModelResponse.toObject = function(includeInstance, msg) { + var f, obj = { + model: (f = msg.getModel()) && proto.gooseai.FineTuningModel.toObject(includeInstance, f) + }; + + 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.UpdateModelResponse} + */ +proto.gooseai.UpdateModelResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.UpdateModelResponse; + return proto.gooseai.UpdateModelResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.UpdateModelResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.UpdateModelResponse} + */ +proto.gooseai.UpdateModelResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.gooseai.FineTuningModel; + reader.readMessage(value,proto.gooseai.FineTuningModel.deserializeBinaryFromReader); + msg.setModel(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.UpdateModelResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.UpdateModelResponse.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.UpdateModelResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.UpdateModelResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getModel(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.gooseai.FineTuningModel.serializeBinaryToWriter + ); + } +}; + + +/** + * optional FineTuningModel model = 1; + * @return {?proto.gooseai.FineTuningModel} + */ +proto.gooseai.UpdateModelResponse.prototype.getModel = function() { + return /** @type{?proto.gooseai.FineTuningModel} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.FineTuningModel, 1)); +}; + + +/** + * @param {?proto.gooseai.FineTuningModel|undefined} value + * @return {!proto.gooseai.UpdateModelResponse} returns this +*/ +proto.gooseai.UpdateModelResponse.prototype.setModel = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.UpdateModelResponse} returns this + */ +proto.gooseai.UpdateModelResponse.prototype.clearModel = function() { + return this.setModel(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateModelResponse.prototype.hasModel = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + +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.DeleteModelRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.DeleteModelRequest.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.DeleteModelRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.DeleteModelRequest.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + 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.DeleteModelRequest} + */ +proto.gooseai.DeleteModelRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.DeleteModelRequest; + return proto.gooseai.DeleteModelRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.DeleteModelRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.DeleteModelRequest} + */ +proto.gooseai.DeleteModelRequest.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.setId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.DeleteModelRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.DeleteModelRequest.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.DeleteModelRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.DeleteModelRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.gooseai.DeleteModelRequest.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.DeleteModelRequest} returns this + */ +proto.gooseai.DeleteModelRequest.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +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.DeleteModelResponse.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.DeleteModelResponse.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.DeleteModelResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.DeleteModelResponse.toObject = function(includeInstance, msg) { + var f, obj = { + model: (f = msg.getModel()) && proto.gooseai.FineTuningModel.toObject(includeInstance, f) + }; + + 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.DeleteModelResponse} + */ +proto.gooseai.DeleteModelResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.DeleteModelResponse; + return proto.gooseai.DeleteModelResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.DeleteModelResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.DeleteModelResponse} + */ +proto.gooseai.DeleteModelResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.gooseai.FineTuningModel; + reader.readMessage(value,proto.gooseai.FineTuningModel.deserializeBinaryFromReader); + msg.setModel(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.DeleteModelResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.DeleteModelResponse.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.DeleteModelResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.DeleteModelResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getModel(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.gooseai.FineTuningModel.serializeBinaryToWriter + ); + } +}; + + +/** + * optional FineTuningModel model = 1; + * @return {?proto.gooseai.FineTuningModel} + */ +proto.gooseai.DeleteModelResponse.prototype.getModel = function() { + return /** @type{?proto.gooseai.FineTuningModel} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.FineTuningModel, 1)); +}; + + +/** + * @param {?proto.gooseai.FineTuningModel|undefined} value + * @return {!proto.gooseai.DeleteModelResponse} returns this +*/ +proto.gooseai.DeleteModelResponse.prototype.setModel = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.DeleteModelResponse} returns this + */ +proto.gooseai.DeleteModelResponse.prototype.clearModel = function() { + return this.setModel(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.DeleteModelResponse.prototype.hasModel = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + +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.ResubmitModelRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.ResubmitModelRequest.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.ResubmitModelRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ResubmitModelRequest.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + 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.ResubmitModelRequest} + */ +proto.gooseai.ResubmitModelRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.ResubmitModelRequest; + return proto.gooseai.ResubmitModelRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.ResubmitModelRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.ResubmitModelRequest} + */ +proto.gooseai.ResubmitModelRequest.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.setId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.ResubmitModelRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.ResubmitModelRequest.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.ResubmitModelRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ResubmitModelRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.gooseai.ResubmitModelRequest.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.ResubmitModelRequest} returns this + */ +proto.gooseai.ResubmitModelRequest.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +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.ResubmitModelResponse.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.ResubmitModelResponse.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.ResubmitModelResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ResubmitModelResponse.toObject = function(includeInstance, msg) { + var f, obj = { + model: (f = msg.getModel()) && proto.gooseai.FineTuningModel.toObject(includeInstance, f) + }; + + 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.ResubmitModelResponse} + */ +proto.gooseai.ResubmitModelResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.ResubmitModelResponse; + return proto.gooseai.ResubmitModelResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.ResubmitModelResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.ResubmitModelResponse} + */ +proto.gooseai.ResubmitModelResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.gooseai.FineTuningModel; + reader.readMessage(value,proto.gooseai.FineTuningModel.deserializeBinaryFromReader); + msg.setModel(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.ResubmitModelResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.ResubmitModelResponse.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.ResubmitModelResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ResubmitModelResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getModel(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.gooseai.FineTuningModel.serializeBinaryToWriter + ); + } +}; + + +/** + * optional FineTuningModel model = 1; + * @return {?proto.gooseai.FineTuningModel} + */ +proto.gooseai.ResubmitModelResponse.prototype.getModel = function() { + return /** @type{?proto.gooseai.FineTuningModel} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.FineTuningModel, 1)); +}; + + +/** + * @param {?proto.gooseai.FineTuningModel|undefined} value + * @return {!proto.gooseai.ResubmitModelResponse} returns this +*/ +proto.gooseai.ResubmitModelResponse.prototype.setModel = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.ResubmitModelResponse} returns this + */ +proto.gooseai.ResubmitModelResponse.prototype.clearModel = function() { + return this.setModel(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.ResubmitModelResponse.prototype.hasModel = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.gooseai.ListModelsRequest.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.gooseai.ListModelsRequest.IdCase = { + ID_NOT_SET: 0, + ORG_ID: 1, + USER_ID: 2 +}; + +/** + * @return {proto.gooseai.ListModelsRequest.IdCase} + */ +proto.gooseai.ListModelsRequest.prototype.getIdCase = function() { + return /** @type {proto.gooseai.ListModelsRequest.IdCase} */(jspb.Message.computeOneofCase(this, proto.gooseai.ListModelsRequest.oneofGroups_[0])); +}; + + + +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.ListModelsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.ListModelsRequest.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.ListModelsRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ListModelsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + orgId: jspb.Message.getFieldWithDefault(msg, 1, ""), + userId: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + 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.ListModelsRequest} + */ +proto.gooseai.ListModelsRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.ListModelsRequest; + return proto.gooseai.ListModelsRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.ListModelsRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.ListModelsRequest} + */ +proto.gooseai.ListModelsRequest.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.setOrgId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setUserId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.ListModelsRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.ListModelsRequest.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.ListModelsRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ListModelsRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {string} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeString( + 1, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string org_id = 1; + * @return {string} + */ +proto.gooseai.ListModelsRequest.prototype.getOrgId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.ListModelsRequest} returns this + */ +proto.gooseai.ListModelsRequest.prototype.setOrgId = function(value) { + return jspb.Message.setOneofField(this, 1, proto.gooseai.ListModelsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.ListModelsRequest} returns this + */ +proto.gooseai.ListModelsRequest.prototype.clearOrgId = function() { + return jspb.Message.setOneofField(this, 1, proto.gooseai.ListModelsRequest.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.ListModelsRequest.prototype.hasOrgId = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional string user_id = 2; + * @return {string} + */ +proto.gooseai.ListModelsRequest.prototype.getUserId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.gooseai.ListModelsRequest} returns this + */ +proto.gooseai.ListModelsRequest.prototype.setUserId = function(value) { + return jspb.Message.setOneofField(this, 2, proto.gooseai.ListModelsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.ListModelsRequest} returns this + */ +proto.gooseai.ListModelsRequest.prototype.clearUserId = function() { + return jspb.Message.setOneofField(this, 2, proto.gooseai.ListModelsRequest.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.ListModelsRequest.prototype.hasUserId = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.gooseai.ListModelsResponse.repeatedFields_ = [1]; + + + +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.ListModelsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.ListModelsResponse.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.ListModelsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ListModelsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + modelsList: jspb.Message.toObjectList(msg.getModelsList(), + proto.gooseai.FineTuningModel.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.ListModelsResponse} + */ +proto.gooseai.ListModelsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.ListModelsResponse; + return proto.gooseai.ListModelsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.ListModelsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.ListModelsResponse} + */ +proto.gooseai.ListModelsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.gooseai.FineTuningModel; + reader.readMessage(value,proto.gooseai.FineTuningModel.deserializeBinaryFromReader); + msg.addModels(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.ListModelsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.ListModelsResponse.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.ListModelsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.ListModelsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getModelsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.gooseai.FineTuningModel.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated FineTuningModel models = 1; + * @return {!Array} + */ +proto.gooseai.ListModelsResponse.prototype.getModelsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.gooseai.FineTuningModel, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.gooseai.ListModelsResponse} returns this +*/ +proto.gooseai.ListModelsResponse.prototype.setModelsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.gooseai.FineTuningModel=} opt_value + * @param {number=} opt_index + * @return {!proto.gooseai.FineTuningModel} + */ +proto.gooseai.ListModelsResponse.prototype.addModels = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.gooseai.FineTuningModel, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.gooseai.ListModelsResponse} returns this + */ +proto.gooseai.ListModelsResponse.prototype.clearModelsList = function() { + return this.setModelsList([]); +}; + + +/** + * @enum {number} + */ +proto.gooseai.FineTuningMode = { + FINE_TUNING_MODE_UNSPECIFIED: 0, + FINE_TUNING_MODE_FACE: 1, + FINE_TUNING_MODE_STYLE: 2, + FINE_TUNING_MODE_OBJECT: 3 +}; + +/** + * @enum {number} + */ +proto.gooseai.FineTuningStatus = { + FINE_TUNING_STATUS_NOT_STARTED: 0, + FINE_TUNING_STATUS_RUNNING: 1, + FINE_TUNING_STATUS_COMPLETED: 2, + FINE_TUNING_STATUS_FAILED: 3, + FINE_TUNING_STATUS_SUBMITTED: 4 +}; + +goog.object.extend(exports, proto.gooseai); diff --git a/gooseai/finetuning/finetuning_pb2.py b/gooseai/finetuning/finetuning_pb2.py new file mode 100644 index 0000000..833569a --- /dev/null +++ b/gooseai/finetuning/finetuning_pb2.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: finetuning.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x66inetuning.proto\x12\x07gooseai\x1a\x1cgoogle/protobuf/struct.proto\"\xb3\x02\n\x0f\x46ineTuningModel\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12*\n\x04mode\x18\x04 \x01(\x0e\x32\x17.gooseai.FineTuningModeH\x00\x88\x01\x01\x12\x1a\n\robject_prompt\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nproject_id\x18\x06 \x01(\t\x12\x10\n\x08\x64uration\x18\x07 \x01(\x01\x12)\n\x06status\x18\x08 \x01(\x0e\x32\x19.gooseai.FineTuningStatus\x12\x11\n\tengine_id\x18\t \x01(\t\x12\x1b\n\x0e\x66\x61ilure_reason\x18\n \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_modeB\x10\n\x0e_object_promptB\x11\n\x0f_failure_reason\"\xe6\x01\n\x12\x43reateModelRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x04mode\x18\x02 \x01(\x0e\x32\x17.gooseai.FineTuningModeH\x00\x88\x01\x01\x12\x1a\n\robject_prompt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x11\n\tengine_id\x18\x05 \x01(\t\x12-\n\x06\x65xtras\x18\xff\x0f \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x42\x07\n\x05_modeB\x10\n\x0e_object_promptB\t\n\x07_extras\">\n\x13\x43reateModelResponse\x12\'\n\x05model\x18\x01 \x01(\x0b\x32\x18.gooseai.FineTuningModel\"\x1d\n\x0fGetModelRequest\x12\n\n\x02id\x18\x01 \x01(\t\";\n\x10GetModelResponse\x12\'\n\x05model\x18\x01 \x01(\x0b\x32\x18.gooseai.FineTuningModel\"\xc5\x01\n\x12UpdateModelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12*\n\x04mode\x18\x03 \x01(\x0e\x32\x17.gooseai.FineTuningModeH\x01\x88\x01\x01\x12\x1a\n\robject_prompt\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x16\n\tengine_id\x18\x05 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_nameB\x07\n\x05_modeB\x10\n\x0e_object_promptB\x0c\n\n_engine_id\">\n\x13UpdateModelResponse\x12\'\n\x05model\x18\x01 \x01(\x0b\x32\x18.gooseai.FineTuningModel\" \n\x12\x44\x65leteModelRequest\x12\n\n\x02id\x18\x01 \x01(\t\">\n\x13\x44\x65leteModelResponse\x12\'\n\x05model\x18\x01 \x01(\x0b\x32\x18.gooseai.FineTuningModel\"\"\n\x14ResubmitModelRequest\x12\n\n\x02id\x18\x01 \x01(\t\"@\n\x15ResubmitModelResponse\x12\'\n\x05model\x18\x01 \x01(\x0b\x32\x18.gooseai.FineTuningModel\">\n\x11ListModelsRequest\x12\x10\n\x06org_id\x18\x01 \x01(\tH\x00\x12\x11\n\x07user_id\x18\x02 \x01(\tH\x00\x42\x04\n\x02id\">\n\x12ListModelsResponse\x12(\n\x06models\x18\x01 \x03(\x0b\x32\x18.gooseai.FineTuningModel*\x86\x01\n\x0e\x46ineTuningMode\x12 \n\x1c\x46INE_TUNING_MODE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INE_TUNING_MODE_FACE\x10\x01\x12\x1a\n\x16\x46INE_TUNING_MODE_STYLE\x10\x02\x12\x1b\n\x17\x46INE_TUNING_MODE_OBJECT\x10\x03*\xb9\x01\n\x10\x46ineTuningStatus\x12\"\n\x1e\x46INE_TUNING_STATUS_NOT_STARTED\x10\x00\x12\x1e\n\x1a\x46INE_TUNING_STATUS_RUNNING\x10\x01\x12 \n\x1c\x46INE_TUNING_STATUS_COMPLETED\x10\x02\x12\x1d\n\x19\x46INE_TUNING_STATUS_FAILED\x10\x03\x12 \n\x1c\x46INE_TUNING_STATUS_SUBMITTED\x10\x04\x32\xc9\x03\n\x11\x46ineTuningService\x12H\n\x0b\x43reateModel\x12\x1b.gooseai.CreateModelRequest\x1a\x1c.gooseai.CreateModelResponse\x12?\n\x08GetModel\x12\x18.gooseai.GetModelRequest\x1a\x19.gooseai.GetModelResponse\x12H\n\x0bUpdateModel\x12\x1b.gooseai.UpdateModelRequest\x1a\x1c.gooseai.UpdateModelResponse\x12H\n\x0b\x44\x65leteModel\x12\x1b.gooseai.DeleteModelRequest\x1a\x1c.gooseai.DeleteModelResponse\x12N\n\rResubmitModel\x12\x1d.gooseai.ResubmitModelRequest\x1a\x1e.gooseai.ResubmitModelResponse\x12\x45\n\nListModels\x12\x1a.gooseai.ListModelsRequest\x1a\x1b.gooseai.ListModelsResponseB;Z9github.com/stability-ai/api-interfaces/gooseai/finetuningb\x06proto3') + +_FINETUNINGMODE = DESCRIPTOR.enum_types_by_name['FineTuningMode'] +FineTuningMode = enum_type_wrapper.EnumTypeWrapper(_FINETUNINGMODE) +_FINETUNINGSTATUS = DESCRIPTOR.enum_types_by_name['FineTuningStatus'] +FineTuningStatus = enum_type_wrapper.EnumTypeWrapper(_FINETUNINGSTATUS) +FINE_TUNING_MODE_UNSPECIFIED = 0 +FINE_TUNING_MODE_FACE = 1 +FINE_TUNING_MODE_STYLE = 2 +FINE_TUNING_MODE_OBJECT = 3 +FINE_TUNING_STATUS_NOT_STARTED = 0 +FINE_TUNING_STATUS_RUNNING = 1 +FINE_TUNING_STATUS_COMPLETED = 2 +FINE_TUNING_STATUS_FAILED = 3 +FINE_TUNING_STATUS_SUBMITTED = 4 + + +_FINETUNINGMODEL = DESCRIPTOR.message_types_by_name['FineTuningModel'] +_CREATEMODELREQUEST = DESCRIPTOR.message_types_by_name['CreateModelRequest'] +_CREATEMODELRESPONSE = DESCRIPTOR.message_types_by_name['CreateModelResponse'] +_GETMODELREQUEST = DESCRIPTOR.message_types_by_name['GetModelRequest'] +_GETMODELRESPONSE = DESCRIPTOR.message_types_by_name['GetModelResponse'] +_UPDATEMODELREQUEST = DESCRIPTOR.message_types_by_name['UpdateModelRequest'] +_UPDATEMODELRESPONSE = DESCRIPTOR.message_types_by_name['UpdateModelResponse'] +_DELETEMODELREQUEST = DESCRIPTOR.message_types_by_name['DeleteModelRequest'] +_DELETEMODELRESPONSE = DESCRIPTOR.message_types_by_name['DeleteModelResponse'] +_RESUBMITMODELREQUEST = DESCRIPTOR.message_types_by_name['ResubmitModelRequest'] +_RESUBMITMODELRESPONSE = DESCRIPTOR.message_types_by_name['ResubmitModelResponse'] +_LISTMODELSREQUEST = DESCRIPTOR.message_types_by_name['ListModelsRequest'] +_LISTMODELSRESPONSE = DESCRIPTOR.message_types_by_name['ListModelsResponse'] +FineTuningModel = _reflection.GeneratedProtocolMessageType('FineTuningModel', (_message.Message,), { + 'DESCRIPTOR' : _FINETUNINGMODEL, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.FineTuningModel) + }) +_sym_db.RegisterMessage(FineTuningModel) + +CreateModelRequest = _reflection.GeneratedProtocolMessageType('CreateModelRequest', (_message.Message,), { + 'DESCRIPTOR' : _CREATEMODELREQUEST, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.CreateModelRequest) + }) +_sym_db.RegisterMessage(CreateModelRequest) + +CreateModelResponse = _reflection.GeneratedProtocolMessageType('CreateModelResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREATEMODELRESPONSE, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.CreateModelResponse) + }) +_sym_db.RegisterMessage(CreateModelResponse) + +GetModelRequest = _reflection.GeneratedProtocolMessageType('GetModelRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETMODELREQUEST, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.GetModelRequest) + }) +_sym_db.RegisterMessage(GetModelRequest) + +GetModelResponse = _reflection.GeneratedProtocolMessageType('GetModelResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETMODELRESPONSE, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.GetModelResponse) + }) +_sym_db.RegisterMessage(GetModelResponse) + +UpdateModelRequest = _reflection.GeneratedProtocolMessageType('UpdateModelRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEMODELREQUEST, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.UpdateModelRequest) + }) +_sym_db.RegisterMessage(UpdateModelRequest) + +UpdateModelResponse = _reflection.GeneratedProtocolMessageType('UpdateModelResponse', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEMODELRESPONSE, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.UpdateModelResponse) + }) +_sym_db.RegisterMessage(UpdateModelResponse) + +DeleteModelRequest = _reflection.GeneratedProtocolMessageType('DeleteModelRequest', (_message.Message,), { + 'DESCRIPTOR' : _DELETEMODELREQUEST, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.DeleteModelRequest) + }) +_sym_db.RegisterMessage(DeleteModelRequest) + +DeleteModelResponse = _reflection.GeneratedProtocolMessageType('DeleteModelResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELETEMODELRESPONSE, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.DeleteModelResponse) + }) +_sym_db.RegisterMessage(DeleteModelResponse) + +ResubmitModelRequest = _reflection.GeneratedProtocolMessageType('ResubmitModelRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESUBMITMODELREQUEST, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.ResubmitModelRequest) + }) +_sym_db.RegisterMessage(ResubmitModelRequest) + +ResubmitModelResponse = _reflection.GeneratedProtocolMessageType('ResubmitModelResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESUBMITMODELRESPONSE, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.ResubmitModelResponse) + }) +_sym_db.RegisterMessage(ResubmitModelResponse) + +ListModelsRequest = _reflection.GeneratedProtocolMessageType('ListModelsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTMODELSREQUEST, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.ListModelsRequest) + }) +_sym_db.RegisterMessage(ListModelsRequest) + +ListModelsResponse = _reflection.GeneratedProtocolMessageType('ListModelsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTMODELSRESPONSE, + '__module__' : 'finetuning_pb2' + # @@protoc_insertion_point(class_scope:gooseai.ListModelsResponse) + }) +_sym_db.RegisterMessage(ListModelsResponse) + +_FINETUNINGSERVICE = DESCRIPTOR.services_by_name['FineTuningService'] +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z9github.com/stability-ai/api-interfaces/gooseai/finetuning' + _FINETUNINGMODE._serialized_start=1351 + _FINETUNINGMODE._serialized_end=1485 + _FINETUNINGSTATUS._serialized_start=1488 + _FINETUNINGSTATUS._serialized_end=1673 + _FINETUNINGMODEL._serialized_start=60 + _FINETUNINGMODEL._serialized_end=367 + _CREATEMODELREQUEST._serialized_start=370 + _CREATEMODELREQUEST._serialized_end=600 + _CREATEMODELRESPONSE._serialized_start=602 + _CREATEMODELRESPONSE._serialized_end=664 + _GETMODELREQUEST._serialized_start=666 + _GETMODELREQUEST._serialized_end=695 + _GETMODELRESPONSE._serialized_start=697 + _GETMODELRESPONSE._serialized_end=756 + _UPDATEMODELREQUEST._serialized_start=759 + _UPDATEMODELREQUEST._serialized_end=956 + _UPDATEMODELRESPONSE._serialized_start=958 + _UPDATEMODELRESPONSE._serialized_end=1020 + _DELETEMODELREQUEST._serialized_start=1022 + _DELETEMODELREQUEST._serialized_end=1054 + _DELETEMODELRESPONSE._serialized_start=1056 + _DELETEMODELRESPONSE._serialized_end=1118 + _RESUBMITMODELREQUEST._serialized_start=1120 + _RESUBMITMODELREQUEST._serialized_end=1154 + _RESUBMITMODELRESPONSE._serialized_start=1156 + _RESUBMITMODELRESPONSE._serialized_end=1220 + _LISTMODELSREQUEST._serialized_start=1222 + _LISTMODELSREQUEST._serialized_end=1284 + _LISTMODELSRESPONSE._serialized_start=1286 + _LISTMODELSRESPONSE._serialized_end=1348 + _FINETUNINGSERVICE._serialized_start=1676 + _FINETUNINGSERVICE._serialized_end=2133 +# @@protoc_insertion_point(module_scope) diff --git a/gooseai/finetuning/finetuning_pb2_grpc.py b/gooseai/finetuning/finetuning_pb2_grpc.py new file mode 100644 index 0000000..e7aaa6a --- /dev/null +++ b/gooseai/finetuning/finetuning_pb2_grpc.py @@ -0,0 +1,237 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +import finetuning_pb2 as finetuning__pb2 + + +class FineTuningServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateModel = channel.unary_unary( + '/gooseai.FineTuningService/CreateModel', + request_serializer=finetuning__pb2.CreateModelRequest.SerializeToString, + response_deserializer=finetuning__pb2.CreateModelResponse.FromString, + ) + self.GetModel = channel.unary_unary( + '/gooseai.FineTuningService/GetModel', + request_serializer=finetuning__pb2.GetModelRequest.SerializeToString, + response_deserializer=finetuning__pb2.GetModelResponse.FromString, + ) + self.UpdateModel = channel.unary_unary( + '/gooseai.FineTuningService/UpdateModel', + request_serializer=finetuning__pb2.UpdateModelRequest.SerializeToString, + response_deserializer=finetuning__pb2.UpdateModelResponse.FromString, + ) + self.DeleteModel = channel.unary_unary( + '/gooseai.FineTuningService/DeleteModel', + request_serializer=finetuning__pb2.DeleteModelRequest.SerializeToString, + response_deserializer=finetuning__pb2.DeleteModelResponse.FromString, + ) + self.ResubmitModel = channel.unary_unary( + '/gooseai.FineTuningService/ResubmitModel', + request_serializer=finetuning__pb2.ResubmitModelRequest.SerializeToString, + response_deserializer=finetuning__pb2.ResubmitModelResponse.FromString, + ) + self.ListModels = channel.unary_unary( + '/gooseai.FineTuningService/ListModels', + request_serializer=finetuning__pb2.ListModelsRequest.SerializeToString, + response_deserializer=finetuning__pb2.ListModelsResponse.FromString, + ) + + +class FineTuningServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def CreateModel(self, request, context): + """Create a new model and begin the fine tuning process + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetModel(self, request, context): + """Get a FineTuningModel + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateModel(self, request, context): + """Update a FineTuningModel by id + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteModel(self, request, context): + """Delete a fine tuned model + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResubmitModel(self, request, context): + """Re-run training, does not create a new model + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListModels(self, request, context): + """List all the fine tuned models for an organization or user + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_FineTuningServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateModel': grpc.unary_unary_rpc_method_handler( + servicer.CreateModel, + request_deserializer=finetuning__pb2.CreateModelRequest.FromString, + response_serializer=finetuning__pb2.CreateModelResponse.SerializeToString, + ), + 'GetModel': grpc.unary_unary_rpc_method_handler( + servicer.GetModel, + request_deserializer=finetuning__pb2.GetModelRequest.FromString, + response_serializer=finetuning__pb2.GetModelResponse.SerializeToString, + ), + 'UpdateModel': grpc.unary_unary_rpc_method_handler( + servicer.UpdateModel, + request_deserializer=finetuning__pb2.UpdateModelRequest.FromString, + response_serializer=finetuning__pb2.UpdateModelResponse.SerializeToString, + ), + 'DeleteModel': grpc.unary_unary_rpc_method_handler( + servicer.DeleteModel, + request_deserializer=finetuning__pb2.DeleteModelRequest.FromString, + response_serializer=finetuning__pb2.DeleteModelResponse.SerializeToString, + ), + 'ResubmitModel': grpc.unary_unary_rpc_method_handler( + servicer.ResubmitModel, + request_deserializer=finetuning__pb2.ResubmitModelRequest.FromString, + response_serializer=finetuning__pb2.ResubmitModelResponse.SerializeToString, + ), + 'ListModels': grpc.unary_unary_rpc_method_handler( + servicer.ListModels, + request_deserializer=finetuning__pb2.ListModelsRequest.FromString, + response_serializer=finetuning__pb2.ListModelsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'gooseai.FineTuningService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class FineTuningService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def CreateModel(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.FineTuningService/CreateModel', + finetuning__pb2.CreateModelRequest.SerializeToString, + finetuning__pb2.CreateModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetModel(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.FineTuningService/GetModel', + finetuning__pb2.GetModelRequest.SerializeToString, + finetuning__pb2.GetModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateModel(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.FineTuningService/UpdateModel', + finetuning__pb2.UpdateModelRequest.SerializeToString, + finetuning__pb2.UpdateModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteModel(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.FineTuningService/DeleteModel', + finetuning__pb2.DeleteModelRequest.SerializeToString, + finetuning__pb2.DeleteModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResubmitModel(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.FineTuningService/ResubmitModel', + finetuning__pb2.ResubmitModelRequest.SerializeToString, + finetuning__pb2.ResubmitModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListModels(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.FineTuningService/ListModels', + finetuning__pb2.ListModelsRequest.SerializeToString, + finetuning__pb2.ListModelsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/gooseai/finetuning/finetuning_pb_service.d.ts b/gooseai/finetuning/finetuning_pb_service.d.ts new file mode 100644 index 0000000..8d99db5 --- /dev/null +++ b/gooseai/finetuning/finetuning_pb_service.d.ts @@ -0,0 +1,158 @@ +// package: gooseai +// file: finetuning.proto + +import * as finetuning_pb from "./finetuning_pb"; +import {grpc} from "@improbable-eng/grpc-web"; + +type FineTuningServiceCreateModel = { + readonly methodName: string; + readonly service: typeof FineTuningService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof finetuning_pb.CreateModelRequest; + readonly responseType: typeof finetuning_pb.CreateModelResponse; +}; + +type FineTuningServiceGetModel = { + readonly methodName: string; + readonly service: typeof FineTuningService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof finetuning_pb.GetModelRequest; + readonly responseType: typeof finetuning_pb.GetModelResponse; +}; + +type FineTuningServiceUpdateModel = { + readonly methodName: string; + readonly service: typeof FineTuningService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof finetuning_pb.UpdateModelRequest; + readonly responseType: typeof finetuning_pb.UpdateModelResponse; +}; + +type FineTuningServiceDeleteModel = { + readonly methodName: string; + readonly service: typeof FineTuningService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof finetuning_pb.DeleteModelRequest; + readonly responseType: typeof finetuning_pb.DeleteModelResponse; +}; + +type FineTuningServiceResubmitModel = { + readonly methodName: string; + readonly service: typeof FineTuningService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof finetuning_pb.ResubmitModelRequest; + readonly responseType: typeof finetuning_pb.ResubmitModelResponse; +}; + +type FineTuningServiceListModels = { + readonly methodName: string; + readonly service: typeof FineTuningService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof finetuning_pb.ListModelsRequest; + readonly responseType: typeof finetuning_pb.ListModelsResponse; +}; + +export class FineTuningService { + static readonly serviceName: string; + static readonly CreateModel: FineTuningServiceCreateModel; + static readonly GetModel: FineTuningServiceGetModel; + static readonly UpdateModel: FineTuningServiceUpdateModel; + static readonly DeleteModel: FineTuningServiceDeleteModel; + static readonly ResubmitModel: FineTuningServiceResubmitModel; + static readonly ListModels: FineTuningServiceListModels; +} + +export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } +export type Status = { details: string, code: number; metadata: grpc.Metadata } + +interface UnaryResponse { + cancel(): void; +} +interface ResponseStream { + cancel(): void; + on(type: 'data', handler: (message: T) => void): ResponseStream; + on(type: 'end', handler: (status?: Status) => void): ResponseStream; + on(type: 'status', handler: (status: Status) => void): ResponseStream; +} +interface RequestStream { + write(message: T): RequestStream; + end(): void; + cancel(): void; + on(type: 'end', handler: (status?: Status) => void): RequestStream; + on(type: 'status', handler: (status: Status) => void): RequestStream; +} +interface BidirectionalStream { + write(message: ReqT): BidirectionalStream; + end(): void; + cancel(): void; + on(type: 'data', handler: (message: ResT) => void): BidirectionalStream; + on(type: 'end', handler: (status?: Status) => void): BidirectionalStream; + on(type: 'status', handler: (status: Status) => void): BidirectionalStream; +} + +export class FineTuningServiceClient { + readonly serviceHost: string; + + constructor(serviceHost: string, options?: grpc.RpcOptions); + createModel( + requestMessage: finetuning_pb.CreateModelRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.CreateModelResponse|null) => void + ): UnaryResponse; + createModel( + requestMessage: finetuning_pb.CreateModelRequest, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.CreateModelResponse|null) => void + ): UnaryResponse; + getModel( + requestMessage: finetuning_pb.GetModelRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.GetModelResponse|null) => void + ): UnaryResponse; + getModel( + requestMessage: finetuning_pb.GetModelRequest, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.GetModelResponse|null) => void + ): UnaryResponse; + updateModel( + requestMessage: finetuning_pb.UpdateModelRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.UpdateModelResponse|null) => void + ): UnaryResponse; + updateModel( + requestMessage: finetuning_pb.UpdateModelRequest, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.UpdateModelResponse|null) => void + ): UnaryResponse; + deleteModel( + requestMessage: finetuning_pb.DeleteModelRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.DeleteModelResponse|null) => void + ): UnaryResponse; + deleteModel( + requestMessage: finetuning_pb.DeleteModelRequest, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.DeleteModelResponse|null) => void + ): UnaryResponse; + resubmitModel( + requestMessage: finetuning_pb.ResubmitModelRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.ResubmitModelResponse|null) => void + ): UnaryResponse; + resubmitModel( + requestMessage: finetuning_pb.ResubmitModelRequest, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.ResubmitModelResponse|null) => void + ): UnaryResponse; + listModels( + requestMessage: finetuning_pb.ListModelsRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.ListModelsResponse|null) => void + ): UnaryResponse; + listModels( + requestMessage: finetuning_pb.ListModelsRequest, + callback: (error: ServiceError|null, responseMessage: finetuning_pb.ListModelsResponse|null) => void + ): UnaryResponse; +} + diff --git a/gooseai/finetuning/finetuning_pb_service.js b/gooseai/finetuning/finetuning_pb_service.js new file mode 100644 index 0000000..88c9e7b --- /dev/null +++ b/gooseai/finetuning/finetuning_pb_service.js @@ -0,0 +1,261 @@ +// package: gooseai +// file: finetuning.proto + +var finetuning_pb = require("./finetuning_pb"); +var grpc = require("@improbable-eng/grpc-web").grpc; + +var FineTuningService = (function () { + function FineTuningService() {} + FineTuningService.serviceName = "gooseai.FineTuningService"; + return FineTuningService; +}()); + +FineTuningService.CreateModel = { + methodName: "CreateModel", + service: FineTuningService, + requestStream: false, + responseStream: false, + requestType: finetuning_pb.CreateModelRequest, + responseType: finetuning_pb.CreateModelResponse +}; + +FineTuningService.GetModel = { + methodName: "GetModel", + service: FineTuningService, + requestStream: false, + responseStream: false, + requestType: finetuning_pb.GetModelRequest, + responseType: finetuning_pb.GetModelResponse +}; + +FineTuningService.UpdateModel = { + methodName: "UpdateModel", + service: FineTuningService, + requestStream: false, + responseStream: false, + requestType: finetuning_pb.UpdateModelRequest, + responseType: finetuning_pb.UpdateModelResponse +}; + +FineTuningService.DeleteModel = { + methodName: "DeleteModel", + service: FineTuningService, + requestStream: false, + responseStream: false, + requestType: finetuning_pb.DeleteModelRequest, + responseType: finetuning_pb.DeleteModelResponse +}; + +FineTuningService.ResubmitModel = { + methodName: "ResubmitModel", + service: FineTuningService, + requestStream: false, + responseStream: false, + requestType: finetuning_pb.ResubmitModelRequest, + responseType: finetuning_pb.ResubmitModelResponse +}; + +FineTuningService.ListModels = { + methodName: "ListModels", + service: FineTuningService, + requestStream: false, + responseStream: false, + requestType: finetuning_pb.ListModelsRequest, + responseType: finetuning_pb.ListModelsResponse +}; + +exports.FineTuningService = FineTuningService; + +function FineTuningServiceClient(serviceHost, options) { + this.serviceHost = serviceHost; + this.options = options || {}; +} + +FineTuningServiceClient.prototype.createModel = function createModel(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FineTuningService.CreateModel, { + 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(); + } + }; +}; + +FineTuningServiceClient.prototype.getModel = function getModel(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FineTuningService.GetModel, { + 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(); + } + }; +}; + +FineTuningServiceClient.prototype.updateModel = function updateModel(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FineTuningService.UpdateModel, { + 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(); + } + }; +}; + +FineTuningServiceClient.prototype.deleteModel = function deleteModel(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FineTuningService.DeleteModel, { + 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(); + } + }; +}; + +FineTuningServiceClient.prototype.resubmitModel = function resubmitModel(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FineTuningService.ResubmitModel, { + 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(); + } + }; +}; + +FineTuningServiceClient.prototype.listModels = function listModels(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FineTuningService.ListModels, { + 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.FineTuningServiceClient = FineTuningServiceClient; + diff --git a/gooseai/generation/generation.pb.go b/gooseai/generation/generation.pb.go index 23d82e2..473c16f 100644 --- a/gooseai/generation/generation.pb.go +++ b/gooseai/generation/generation.pb.go @@ -484,6 +484,109 @@ func (ModelArchitecture) EnumDescriptor() ([]byte, []int) { return file_generation_proto_rawDescGZIP(), []int{7} } +type T2IAdapter int32 + +const ( + T2IAdapter_T2IADAPTER_NONE T2IAdapter = 0 + T2IAdapter_T2IADAPTER_SKETCH T2IAdapter = 1 // these are all compatible with SDXL. + T2IAdapter_T2IADAPTER_DEPTH T2IAdapter = 2 + T2IAdapter_T2IADAPTER_CANNY T2IAdapter = 3 +) + +// Enum value maps for T2IAdapter. +var ( + T2IAdapter_name = map[int32]string{ + 0: "T2IADAPTER_NONE", + 1: "T2IADAPTER_SKETCH", + 2: "T2IADAPTER_DEPTH", + 3: "T2IADAPTER_CANNY", + } + T2IAdapter_value = map[string]int32{ + "T2IADAPTER_NONE": 0, + "T2IADAPTER_SKETCH": 1, + "T2IADAPTER_DEPTH": 2, + "T2IADAPTER_CANNY": 3, + } +) + +func (x T2IAdapter) Enum() *T2IAdapter { + p := new(T2IAdapter) + *p = x + return p +} + +func (x T2IAdapter) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (T2IAdapter) Descriptor() protoreflect.EnumDescriptor { + return file_generation_proto_enumTypes[8].Descriptor() +} + +func (T2IAdapter) Type() protoreflect.EnumType { + return &file_generation_proto_enumTypes[8] +} + +func (x T2IAdapter) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use T2IAdapter.Descriptor instead. +func (T2IAdapter) EnumDescriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{8} +} + +// If adapter_type is not None, then the user can choose what type of init_image to pass in: either an arbitrary image +// which will then be converted to a depth map, sketch, or canny edge for the sketch, depth and canny adapters respectively, +// or they can pass in their own depth map, sketch or canny edge. This field controls whether the init_image should +// be interpreted as an arbitrary image to be preprocessed ready for the t2i adapter, or whether it has already been +// preprocessed elsewhere +type T2IAdapterInit int32 + +const ( + T2IAdapterInit_T2IADAPTERINIT_IMAGE T2IAdapterInit = 0 // these are all compatible with SDXL. + T2IAdapterInit_T2IADAPTERINIT_ADAPTER_IMAGE T2IAdapterInit = 1 +) + +// Enum value maps for T2IAdapterInit. +var ( + T2IAdapterInit_name = map[int32]string{ + 0: "T2IADAPTERINIT_IMAGE", + 1: "T2IADAPTERINIT_ADAPTER_IMAGE", + } + T2IAdapterInit_value = map[string]int32{ + "T2IADAPTERINIT_IMAGE": 0, + "T2IADAPTERINIT_ADAPTER_IMAGE": 1, + } +) + +func (x T2IAdapterInit) Enum() *T2IAdapterInit { + p := new(T2IAdapterInit) + *p = x + return p +} + +func (x T2IAdapterInit) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (T2IAdapterInit) Descriptor() protoreflect.EnumDescriptor { + return file_generation_proto_enumTypes[9].Descriptor() +} + +func (T2IAdapterInit) Type() protoreflect.EnumType { + return &file_generation_proto_enumTypes[9] +} + +func (x T2IAdapterInit) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use T2IAdapterInit.Descriptor instead. +func (T2IAdapterInit) EnumDescriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{9} +} + type Action int32 const ( @@ -526,11 +629,11 @@ func (x Action) String() string { } func (Action) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[8].Descriptor() + return file_generation_proto_enumTypes[10].Descriptor() } func (Action) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[8] + return &file_generation_proto_enumTypes[10] } func (x Action) Number() protoreflect.EnumNumber { @@ -539,7 +642,7 @@ func (x Action) Number() protoreflect.EnumNumber { // Deprecated: Use Action.Descriptor instead. func (Action) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{8} + return file_generation_proto_rawDescGZIP(), []int{10} } type ClassifierMode int32 @@ -572,11 +675,11 @@ func (x ClassifierMode) String() string { } func (ClassifierMode) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[9].Descriptor() + return file_generation_proto_enumTypes[11].Descriptor() } func (ClassifierMode) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[9] + return &file_generation_proto_enumTypes[11] } func (x ClassifierMode) Number() protoreflect.EnumNumber { @@ -585,7 +688,7 @@ func (x ClassifierMode) Number() protoreflect.EnumNumber { // Deprecated: Use ClassifierMode.Descriptor instead. func (ClassifierMode) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{9} + return file_generation_proto_rawDescGZIP(), []int{11} } type InterpolateMode int32 @@ -627,11 +730,11 @@ func (x InterpolateMode) String() string { } func (InterpolateMode) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[10].Descriptor() + return file_generation_proto_enumTypes[12].Descriptor() } func (InterpolateMode) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[10] + return &file_generation_proto_enumTypes[12] } func (x InterpolateMode) Number() protoreflect.EnumNumber { @@ -640,7 +743,7 @@ func (x InterpolateMode) Number() protoreflect.EnumNumber { // Deprecated: Use InterpolateMode.Descriptor instead. func (InterpolateMode) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{10} + return file_generation_proto_rawDescGZIP(), []int{12} } type BorderMode int32 @@ -682,11 +785,11 @@ func (x BorderMode) String() string { } func (BorderMode) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[11].Descriptor() + return file_generation_proto_enumTypes[13].Descriptor() } func (BorderMode) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[11] + return &file_generation_proto_enumTypes[13] } func (x BorderMode) Number() protoreflect.EnumNumber { @@ -695,7 +798,7 @@ func (x BorderMode) Number() protoreflect.EnumNumber { // Deprecated: Use BorderMode.Descriptor instead. func (BorderMode) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{11} + return file_generation_proto_rawDescGZIP(), []int{13} } type ColorMatchMode int32 @@ -731,11 +834,11 @@ func (x ColorMatchMode) String() string { } func (ColorMatchMode) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[12].Descriptor() + return file_generation_proto_enumTypes[14].Descriptor() } func (ColorMatchMode) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[12] + return &file_generation_proto_enumTypes[14] } func (x ColorMatchMode) Number() protoreflect.EnumNumber { @@ -744,7 +847,7 @@ func (x ColorMatchMode) Number() protoreflect.EnumNumber { // Deprecated: Use ColorMatchMode.Descriptor instead. func (ColorMatchMode) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{12} + return file_generation_proto_rawDescGZIP(), []int{14} } type CameraType int32 @@ -777,11 +880,11 @@ func (x CameraType) String() string { } func (CameraType) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[13].Descriptor() + return file_generation_proto_enumTypes[15].Descriptor() } func (CameraType) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[13] + return &file_generation_proto_enumTypes[15] } func (x CameraType) Number() protoreflect.EnumNumber { @@ -790,7 +893,7 @@ func (x CameraType) Number() protoreflect.EnumNumber { // Deprecated: Use CameraType.Descriptor instead. func (CameraType) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{13} + return file_generation_proto_rawDescGZIP(), []int{15} } type RenderMode int32 @@ -823,11 +926,11 @@ func (x RenderMode) String() string { } func (RenderMode) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[14].Descriptor() + return file_generation_proto_enumTypes[16].Descriptor() } func (RenderMode) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[14] + return &file_generation_proto_enumTypes[16] } func (x RenderMode) Number() protoreflect.EnumNumber { @@ -836,7 +939,7 @@ func (x RenderMode) Number() protoreflect.EnumNumber { // Deprecated: Use RenderMode.Descriptor instead. func (RenderMode) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{14} + return file_generation_proto_rawDescGZIP(), []int{16} } type AssetAction int32 @@ -872,11 +975,11 @@ func (x AssetAction) String() string { } func (AssetAction) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[15].Descriptor() + return file_generation_proto_enumTypes[17].Descriptor() } func (AssetAction) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[15] + return &file_generation_proto_enumTypes[17] } func (x AssetAction) Number() protoreflect.EnumNumber { @@ -885,7 +988,7 @@ func (x AssetAction) Number() protoreflect.EnumNumber { // Deprecated: Use AssetAction.Descriptor instead. func (AssetAction) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{15} + return file_generation_proto_rawDescGZIP(), []int{17} } // AssetUse defines how the asset is used within a project. This enum matches @@ -929,11 +1032,11 @@ func (x AssetUse) String() string { } func (AssetUse) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[16].Descriptor() + return file_generation_proto_enumTypes[18].Descriptor() } func (AssetUse) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[16] + return &file_generation_proto_enumTypes[18] } func (x AssetUse) Number() protoreflect.EnumNumber { @@ -942,7 +1045,7 @@ func (x AssetUse) Number() protoreflect.EnumNumber { // Deprecated: Use AssetUse.Descriptor instead. func (AssetUse) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{16} + return file_generation_proto_rawDescGZIP(), []int{18} } type StageAction int32 @@ -978,11 +1081,11 @@ func (x StageAction) String() string { } func (StageAction) Descriptor() protoreflect.EnumDescriptor { - return file_generation_proto_enumTypes[17].Descriptor() + return file_generation_proto_enumTypes[19].Descriptor() } func (StageAction) Type() protoreflect.EnumType { - return &file_generation_proto_enumTypes[17] + return &file_generation_proto_enumTypes[19] } func (x StageAction) Number() protoreflect.EnumNumber { @@ -991,7 +1094,53 @@ func (x StageAction) Number() protoreflect.EnumNumber { // Deprecated: Use StageAction.Descriptor instead. func (StageAction) EnumDescriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{17} + return file_generation_proto_rawDescGZIP(), []int{19} +} + +type CAIParameters_ModelMetadata int32 + +const ( + CAIParameters_MODEL_METADATA_UNSPECIFIED CAIParameters_ModelMetadata = 0 + CAIParameters_MODEL_METADATA_SIGN_WITH_ENGINE_ID CAIParameters_ModelMetadata = 1 +) + +// Enum value maps for CAIParameters_ModelMetadata. +var ( + CAIParameters_ModelMetadata_name = map[int32]string{ + 0: "MODEL_METADATA_UNSPECIFIED", + 1: "MODEL_METADATA_SIGN_WITH_ENGINE_ID", + } + CAIParameters_ModelMetadata_value = map[string]int32{ + "MODEL_METADATA_UNSPECIFIED": 0, + "MODEL_METADATA_SIGN_WITH_ENGINE_ID": 1, + } +) + +func (x CAIParameters_ModelMetadata) Enum() *CAIParameters_ModelMetadata { + p := new(CAIParameters_ModelMetadata) + *p = x + return p +} + +func (x CAIParameters_ModelMetadata) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CAIParameters_ModelMetadata) Descriptor() protoreflect.EnumDescriptor { + return file_generation_proto_enumTypes[20].Descriptor() +} + +func (CAIParameters_ModelMetadata) Type() protoreflect.EnumType { + return &file_generation_proto_enumTypes[20] +} + +func (x CAIParameters_ModelMetadata) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CAIParameters_ModelMetadata.Descriptor instead. +func (CAIParameters_ModelMetadata) EnumDescriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{16, 0} } // Generally, a GPT BPE 16-bit token, paired with an optional string representation. @@ -2200,27 +2349,221 @@ func (*TransformType_Diffusion) isTransformType_Type() {} func (*TransformType_Upscaler) isTransformType_Type() {} +type T2IAdapterParameter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdapterType T2IAdapter `protobuf:"varint,1,opt,name=adapter_type,json=adapterType,proto3,enum=gooseai.T2IAdapter" json:"adapter_type,omitempty"` + AdapterStrength float32 `protobuf:"fixed32,2,opt,name=adapter_strength,json=adapterStrength,proto3" json:"adapter_strength,omitempty"` + AdapterInitType T2IAdapterInit `protobuf:"varint,3,opt,name=adapter_init_type,json=adapterInitType,proto3,enum=gooseai.T2IAdapterInit" json:"adapter_init_type,omitempty"` +} + +func (x *T2IAdapterParameter) Reset() { + *x = T2IAdapterParameter{} + if protoimpl.UnsafeEnabled { + mi := &file_generation_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *T2IAdapterParameter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*T2IAdapterParameter) ProtoMessage() {} + +func (x *T2IAdapterParameter) ProtoReflect() protoreflect.Message { + mi := &file_generation_proto_msgTypes[15] + 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 T2IAdapterParameter.ProtoReflect.Descriptor instead. +func (*T2IAdapterParameter) Descriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{15} +} + +func (x *T2IAdapterParameter) GetAdapterType() T2IAdapter { + if x != nil { + return x.AdapterType + } + return T2IAdapter_T2IADAPTER_NONE +} + +func (x *T2IAdapterParameter) GetAdapterStrength() float32 { + if x != nil { + return x.AdapterStrength + } + return 0 +} + +func (x *T2IAdapterParameter) GetAdapterInitType() T2IAdapterInit { + if x != nil { + return x.AdapterInitType + } + return T2IAdapterInit_T2IADAPTERINIT_IMAGE +} + +type CAIParameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Parameters: + // *CAIParameters_ModelMetadata_ + Parameters isCAIParameters_Parameters `protobuf_oneof:"parameters"` +} + +func (x *CAIParameters) Reset() { + *x = CAIParameters{} + if protoimpl.UnsafeEnabled { + mi := &file_generation_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CAIParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CAIParameters) ProtoMessage() {} + +func (x *CAIParameters) ProtoReflect() protoreflect.Message { + mi := &file_generation_proto_msgTypes[16] + 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 CAIParameters.ProtoReflect.Descriptor instead. +func (*CAIParameters) Descriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{16} +} + +func (m *CAIParameters) GetParameters() isCAIParameters_Parameters { + if m != nil { + return m.Parameters + } + return nil +} + +func (x *CAIParameters) GetModelMetadata() CAIParameters_ModelMetadata { + if x, ok := x.GetParameters().(*CAIParameters_ModelMetadata_); ok { + return x.ModelMetadata + } + return CAIParameters_MODEL_METADATA_UNSPECIFIED +} + +type isCAIParameters_Parameters interface { + isCAIParameters_Parameters() +} + +type CAIParameters_ModelMetadata_ struct { + ModelMetadata CAIParameters_ModelMetadata `protobuf:"varint,1,opt,name=model_metadata,json=modelMetadata,proto3,enum=gooseai.CAIParameters_ModelMetadata,oneof"` +} + +func (*CAIParameters_ModelMetadata_) isCAIParameters_Parameters() {} + +// FineTuningParameters specify which fine-tuned models to use for generation. +type FineTuningParameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the fine-tuned model to generate content from. + // See FineTuningModel.id in finetuning.proto. + // Model Id is created upon invoking CreateFineTuningModel. + // When GetFineTuningModelStatus returns a FineTuningModelStatus of + // FINE_TUNING_MODEL_STATUS_COMPLETED, the model can be used + // for generating images. + ModelId string `protobuf:"bytes,1,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"` + Weight *float32 `protobuf:"fixed32,2,opt,name=weight,proto3,oneof" json:"weight,omitempty"` // defaults to 1.0 +} + +func (x *FineTuningParameters) Reset() { + *x = FineTuningParameters{} + if protoimpl.UnsafeEnabled { + mi := &file_generation_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FineTuningParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FineTuningParameters) ProtoMessage() {} + +func (x *FineTuningParameters) ProtoReflect() protoreflect.Message { + mi := &file_generation_proto_msgTypes[17] + 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 FineTuningParameters.ProtoReflect.Descriptor instead. +func (*FineTuningParameters) Descriptor() ([]byte, []int) { + return file_generation_proto_rawDescGZIP(), []int{17} +} + +func (x *FineTuningParameters) GetModelId() string { + if x != nil { + return x.ModelId + } + return "" +} + +func (x *FineTuningParameters) GetWeight() float32 { + if x != nil && x.Weight != nil { + return *x.Weight + } + return 0 +} + type ImageParameters struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Height *uint64 `protobuf:"varint,1,opt,name=height,proto3,oneof" json:"height,omitempty"` - Width *uint64 `protobuf:"varint,2,opt,name=width,proto3,oneof" json:"width,omitempty"` - Seed []uint32 `protobuf:"varint,3,rep,packed,name=seed,proto3" json:"seed,omitempty"` - Samples *uint64 `protobuf:"varint,4,opt,name=samples,proto3,oneof" json:"samples,omitempty"` - Steps *uint64 `protobuf:"varint,5,opt,name=steps,proto3,oneof" json:"steps,omitempty"` - Transform *TransformType `protobuf:"bytes,6,opt,name=transform,proto3,oneof" json:"transform,omitempty"` - Parameters []*StepParameter `protobuf:"bytes,7,rep,name=parameters,proto3" json:"parameters,omitempty"` - MaskedAreaInit *MaskedAreaInit `protobuf:"varint,8,opt,name=masked_area_init,json=maskedAreaInit,proto3,enum=gooseai.MaskedAreaInit,oneof" json:"masked_area_init,omitempty"` // defaults to MASKED_AREA_INIT_ZERO - WeightMethod *WeightMethod `protobuf:"varint,9,opt,name=weight_method,json=weightMethod,proto3,enum=gooseai.WeightMethod,oneof" json:"weight_method,omitempty"` //defaults to TEXT_ENCODER - Quantize *bool `protobuf:"varint,10,opt,name=quantize,proto3,oneof" json:"quantize,omitempty"` //defaults to true + Height *uint64 `protobuf:"varint,1,opt,name=height,proto3,oneof" json:"height,omitempty"` + Width *uint64 `protobuf:"varint,2,opt,name=width,proto3,oneof" json:"width,omitempty"` + Seed []uint32 `protobuf:"varint,3,rep,packed,name=seed,proto3" json:"seed,omitempty"` + Samples *uint64 `protobuf:"varint,4,opt,name=samples,proto3,oneof" json:"samples,omitempty"` + Steps *uint64 `protobuf:"varint,5,opt,name=steps,proto3,oneof" json:"steps,omitempty"` + Transform *TransformType `protobuf:"bytes,6,opt,name=transform,proto3,oneof" json:"transform,omitempty"` + Parameters []*StepParameter `protobuf:"bytes,7,rep,name=parameters,proto3" json:"parameters,omitempty"` + MaskedAreaInit *MaskedAreaInit `protobuf:"varint,8,opt,name=masked_area_init,json=maskedAreaInit,proto3,enum=gooseai.MaskedAreaInit,oneof" json:"masked_area_init,omitempty"` // defaults to MASKED_AREA_INIT_ZERO + WeightMethod *WeightMethod `protobuf:"varint,9,opt,name=weight_method,json=weightMethod,proto3,enum=gooseai.WeightMethod,oneof" json:"weight_method,omitempty"` //defaults to TEXT_ENCODER + Quantize *bool `protobuf:"varint,10,opt,name=quantize,proto3,oneof" json:"quantize,omitempty"` //defaults to true + CaiParameters *CAIParameters `protobuf:"bytes,11,opt,name=cai_parameters,json=caiParameters,proto3,oneof" json:"cai_parameters,omitempty"` // Set field to have image signed by C2PA + Adapter *T2IAdapterParameter `protobuf:"bytes,12,opt,name=adapter,proto3,oneof" json:"adapter,omitempty"` + FineTuningParameters []*FineTuningParameters `protobuf:"bytes,13,rep,name=fine_tuning_parameters,json=fineTuningParameters,proto3" json:"fine_tuning_parameters,omitempty"` // next available tag: 14 } func (x *ImageParameters) Reset() { *x = ImageParameters{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[15] + mi := &file_generation_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2233,7 +2576,7 @@ func (x *ImageParameters) String() string { func (*ImageParameters) ProtoMessage() {} func (x *ImageParameters) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[15] + mi := &file_generation_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2246,7 +2589,7 @@ func (x *ImageParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageParameters.ProtoReflect.Descriptor instead. func (*ImageParameters) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{15} + return file_generation_proto_rawDescGZIP(), []int{18} } func (x *ImageParameters) GetHeight() uint64 { @@ -2319,6 +2662,27 @@ func (x *ImageParameters) GetQuantize() bool { return false } +func (x *ImageParameters) GetCaiParameters() *CAIParameters { + if x != nil { + return x.CaiParameters + } + return nil +} + +func (x *ImageParameters) GetAdapter() *T2IAdapterParameter { + if x != nil { + return x.Adapter + } + return nil +} + +func (x *ImageParameters) GetFineTuningParameters() []*FineTuningParameters { + if x != nil { + return x.FineTuningParameters + } + return nil +} + type ClassifierConcept struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2331,7 +2695,7 @@ type ClassifierConcept struct { func (x *ClassifierConcept) Reset() { *x = ClassifierConcept{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[16] + mi := &file_generation_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2344,7 +2708,7 @@ func (x *ClassifierConcept) String() string { func (*ClassifierConcept) ProtoMessage() {} func (x *ClassifierConcept) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[16] + mi := &file_generation_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2357,7 +2721,7 @@ func (x *ClassifierConcept) ProtoReflect() protoreflect.Message { // Deprecated: Use ClassifierConcept.ProtoReflect.Descriptor instead. func (*ClassifierConcept) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{16} + return file_generation_proto_rawDescGZIP(), []int{19} } func (x *ClassifierConcept) GetConcept() string { @@ -2389,7 +2753,7 @@ type ClassifierCategory struct { func (x *ClassifierCategory) Reset() { *x = ClassifierCategory{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[17] + mi := &file_generation_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2402,7 +2766,7 @@ func (x *ClassifierCategory) String() string { func (*ClassifierCategory) ProtoMessage() {} func (x *ClassifierCategory) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[17] + mi := &file_generation_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2415,7 +2779,7 @@ func (x *ClassifierCategory) ProtoReflect() protoreflect.Message { // Deprecated: Use ClassifierCategory.ProtoReflect.Descriptor instead. func (*ClassifierCategory) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{17} + return file_generation_proto_rawDescGZIP(), []int{20} } func (x *ClassifierCategory) GetName() string { @@ -2466,7 +2830,7 @@ type ClassifierParameters struct { func (x *ClassifierParameters) Reset() { *x = ClassifierParameters{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[18] + mi := &file_generation_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2479,7 +2843,7 @@ func (x *ClassifierParameters) String() string { func (*ClassifierParameters) ProtoMessage() {} func (x *ClassifierParameters) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[18] + mi := &file_generation_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2492,7 +2856,7 @@ func (x *ClassifierParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use ClassifierParameters.ProtoReflect.Descriptor instead. func (*ClassifierParameters) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{18} + return file_generation_proto_rawDescGZIP(), []int{21} } func (x *ClassifierParameters) GetCategories() []*ClassifierCategory { @@ -2529,7 +2893,7 @@ type InterpolateParameters struct { func (x *InterpolateParameters) Reset() { *x = InterpolateParameters{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[19] + mi := &file_generation_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2542,7 +2906,7 @@ func (x *InterpolateParameters) String() string { func (*InterpolateParameters) ProtoMessage() {} func (x *InterpolateParameters) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[19] + mi := &file_generation_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2555,7 +2919,7 @@ func (x *InterpolateParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use InterpolateParameters.ProtoReflect.Descriptor instead. func (*InterpolateParameters) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{19} + return file_generation_proto_rawDescGZIP(), []int{22} } func (x *InterpolateParameters) GetRatios() []float32 { @@ -2591,7 +2955,7 @@ type TransformColorAdjust struct { func (x *TransformColorAdjust) Reset() { *x = TransformColorAdjust{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[20] + mi := &file_generation_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2604,7 +2968,7 @@ func (x *TransformColorAdjust) String() string { func (*TransformColorAdjust) ProtoMessage() {} func (x *TransformColorAdjust) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[20] + mi := &file_generation_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2617,7 +2981,7 @@ func (x *TransformColorAdjust) ProtoReflect() protoreflect.Message { // Deprecated: Use TransformColorAdjust.ProtoReflect.Descriptor instead. func (*TransformColorAdjust) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{20} + return file_generation_proto_rawDescGZIP(), []int{23} } func (x *TransformColorAdjust) GetBrightness() float32 { @@ -2696,7 +3060,7 @@ type TransformDepthCalc struct { func (x *TransformDepthCalc) Reset() { *x = TransformDepthCalc{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[21] + mi := &file_generation_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2709,7 +3073,7 @@ func (x *TransformDepthCalc) String() string { func (*TransformDepthCalc) ProtoMessage() {} func (x *TransformDepthCalc) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[21] + mi := &file_generation_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2722,7 +3086,7 @@ func (x *TransformDepthCalc) ProtoReflect() protoreflect.Message { // Deprecated: Use TransformDepthCalc.ProtoReflect.Descriptor instead. func (*TransformDepthCalc) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{21} + return file_generation_proto_rawDescGZIP(), []int{24} } func (x *TransformDepthCalc) GetBlendWeight() float32 { @@ -2762,7 +3126,7 @@ type TransformMatrix struct { func (x *TransformMatrix) Reset() { *x = TransformMatrix{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[22] + mi := &file_generation_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2775,7 +3139,7 @@ func (x *TransformMatrix) String() string { func (*TransformMatrix) ProtoMessage() {} func (x *TransformMatrix) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[22] + mi := &file_generation_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2788,7 +3152,7 @@ func (x *TransformMatrix) ProtoReflect() protoreflect.Message { // Deprecated: Use TransformMatrix.ProtoReflect.Descriptor instead. func (*TransformMatrix) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{22} + return file_generation_proto_rawDescGZIP(), []int{25} } func (x *TransformMatrix) GetData() []float32 { @@ -2813,7 +3177,7 @@ type TransformResample struct { func (x *TransformResample) Reset() { *x = TransformResample{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[23] + mi := &file_generation_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2826,7 +3190,7 @@ func (x *TransformResample) String() string { func (*TransformResample) ProtoMessage() {} func (x *TransformResample) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[23] + mi := &file_generation_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2839,7 +3203,7 @@ func (x *TransformResample) ProtoReflect() protoreflect.Message { // Deprecated: Use TransformResample.ProtoReflect.Descriptor instead. func (*TransformResample) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{23} + return file_generation_proto_rawDescGZIP(), []int{26} } func (x *TransformResample) GetBorderMode() BorderMode { @@ -2891,7 +3255,7 @@ type CameraParameters struct { func (x *CameraParameters) Reset() { *x = CameraParameters{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[24] + mi := &file_generation_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2904,7 +3268,7 @@ func (x *CameraParameters) String() string { func (*CameraParameters) ProtoMessage() {} func (x *CameraParameters) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[24] + mi := &file_generation_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2917,7 +3281,7 @@ func (x *CameraParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use CameraParameters.ProtoReflect.Descriptor instead. func (*CameraParameters) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{24} + return file_generation_proto_rawDescGZIP(), []int{27} } func (x *CameraParameters) GetCameraType() CameraType { @@ -2962,7 +3326,7 @@ type TransformCameraPose struct { func (x *TransformCameraPose) Reset() { *x = TransformCameraPose{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[25] + mi := &file_generation_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2975,7 +3339,7 @@ func (x *TransformCameraPose) String() string { func (*TransformCameraPose) ProtoMessage() {} func (x *TransformCameraPose) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[25] + mi := &file_generation_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2988,7 +3352,7 @@ func (x *TransformCameraPose) ProtoReflect() protoreflect.Message { // Deprecated: Use TransformCameraPose.ProtoReflect.Descriptor instead. func (*TransformCameraPose) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{25} + return file_generation_proto_rawDescGZIP(), []int{28} } func (x *TransformCameraPose) GetWorldToViewMatrix() *TransformMatrix { @@ -3035,7 +3399,7 @@ type TransformParameters struct { func (x *TransformParameters) Reset() { *x = TransformParameters{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[26] + mi := &file_generation_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3048,7 +3412,7 @@ func (x *TransformParameters) String() string { func (*TransformParameters) ProtoMessage() {} func (x *TransformParameters) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[26] + mi := &file_generation_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3061,7 +3425,7 @@ func (x *TransformParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use TransformParameters.ProtoReflect.Descriptor instead. func (*TransformParameters) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{26} + return file_generation_proto_rawDescGZIP(), []int{29} } func (m *TransformParameters) GetTransform() isTransformParameters_Transform { @@ -3140,7 +3504,7 @@ type AssetParameters struct { func (x *AssetParameters) Reset() { *x = AssetParameters{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[27] + mi := &file_generation_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3153,7 +3517,7 @@ func (x *AssetParameters) String() string { func (*AssetParameters) ProtoMessage() {} func (x *AssetParameters) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[27] + mi := &file_generation_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3166,7 +3530,7 @@ func (x *AssetParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use AssetParameters.ProtoReflect.Descriptor instead. func (*AssetParameters) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{27} + return file_generation_proto_rawDescGZIP(), []int{30} } func (x *AssetParameters) GetAction() AssetAction { @@ -3206,7 +3570,7 @@ type AnswerMeta struct { func (x *AnswerMeta) Reset() { *x = AnswerMeta{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[28] + mi := &file_generation_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3219,7 +3583,7 @@ func (x *AnswerMeta) String() string { func (*AnswerMeta) ProtoMessage() {} func (x *AnswerMeta) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[28] + mi := &file_generation_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3232,7 +3596,7 @@ func (x *AnswerMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerMeta.ProtoReflect.Descriptor instead. func (*AnswerMeta) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{28} + return file_generation_proto_rawDescGZIP(), []int{31} } func (x *AnswerMeta) GetGpuId() string { @@ -3281,7 +3645,7 @@ type Answer struct { func (x *Answer) Reset() { *x = Answer{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[29] + mi := &file_generation_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3294,7 +3658,7 @@ func (x *Answer) String() string { func (*Answer) ProtoMessage() {} func (x *Answer) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[29] + mi := &file_generation_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3307,7 +3671,7 @@ func (x *Answer) ProtoReflect() protoreflect.Message { // Deprecated: Use Answer.ProtoReflect.Descriptor instead. func (*Answer) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{29} + return file_generation_proto_rawDescGZIP(), []int{32} } func (x *Answer) GetAnswerId() string { @@ -3366,7 +3730,7 @@ type AnswerBatch struct { func (x *AnswerBatch) Reset() { *x = AnswerBatch{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[30] + mi := &file_generation_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3379,7 +3743,7 @@ func (x *AnswerBatch) String() string { func (*AnswerBatch) ProtoMessage() {} func (x *AnswerBatch) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[30] + mi := &file_generation_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3392,7 +3756,7 @@ func (x *AnswerBatch) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerBatch.ProtoReflect.Descriptor instead. func (*AnswerBatch) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{30} + return file_generation_proto_rawDescGZIP(), []int{33} } func (x *AnswerBatch) GetBatchId() string { @@ -3435,7 +3799,7 @@ type Request struct { func (x *Request) Reset() { *x = Request{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[31] + mi := &file_generation_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3448,7 +3812,7 @@ func (x *Request) String() string { func (*Request) ProtoMessage() {} func (x *Request) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[31] + mi := &file_generation_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3461,7 +3825,7 @@ func (x *Request) ProtoReflect() protoreflect.Message { // Deprecated: Use Request.ProtoReflect.Descriptor instead. func (*Request) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{31} + return file_generation_proto_rawDescGZIP(), []int{34} } func (x *Request) GetEngineId() string { @@ -3595,7 +3959,7 @@ type OnStatus struct { func (x *OnStatus) Reset() { *x = OnStatus{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[32] + mi := &file_generation_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3608,7 +3972,7 @@ func (x *OnStatus) String() string { func (*OnStatus) ProtoMessage() {} func (x *OnStatus) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[32] + mi := &file_generation_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3621,7 +3985,7 @@ func (x *OnStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use OnStatus.ProtoReflect.Descriptor instead. func (*OnStatus) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{32} + return file_generation_proto_rawDescGZIP(), []int{35} } func (x *OnStatus) GetReason() []FinishReason { @@ -3658,7 +4022,7 @@ type Stage struct { func (x *Stage) Reset() { *x = Stage{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[33] + mi := &file_generation_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3671,7 +4035,7 @@ func (x *Stage) String() string { func (*Stage) ProtoMessage() {} func (x *Stage) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[33] + mi := &file_generation_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3684,7 +4048,7 @@ func (x *Stage) ProtoReflect() protoreflect.Message { // Deprecated: Use Stage.ProtoReflect.Descriptor instead. func (*Stage) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{33} + return file_generation_proto_rawDescGZIP(), []int{36} } func (x *Stage) GetId() string { @@ -3720,7 +4084,7 @@ type ChainRequest struct { func (x *ChainRequest) Reset() { *x = ChainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_generation_proto_msgTypes[34] + mi := &file_generation_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3733,7 +4097,7 @@ func (x *ChainRequest) String() string { func (*ChainRequest) ProtoMessage() {} func (x *ChainRequest) ProtoReflect() protoreflect.Message { - mi := &file_generation_proto_msgTypes[34] + mi := &file_generation_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3746,7 +4110,7 @@ func (x *ChainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainRequest.ProtoReflect.Descriptor instead. func (*ChainRequest) Descriptor() ([]byte, []int) { - return file_generation_proto_rawDescGZIP(), []int{34} + return file_generation_proto_rawDescGZIP(), []int{37} } func (x *ChainRequest) GetRequestId() string { @@ -3965,449 +4329,506 @@ var file_generation_proto_rawDesc = []byte{ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x08, 0x75, 0x70, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x04, - 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, - 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, - 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x1d, 0x0a, - 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, - 0x52, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, - 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x05, 0x73, - 0x74, 0x65, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, - 0x70, 0x65, 0x48, 0x04, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x88, - 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, - 0x2e, 0x53, 0x74, 0x65, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x61, - 0x73, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4d, - 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x05, 0x52, - 0x0e, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x48, 0x06, 0x52, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x13, 0x0a, - 0x11, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, - 0x69, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, - 0x65, 0x22, 0x5e, 0x0a, 0x11, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, - 0x12, 0x21, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x22, 0xa8, 0x02, 0x0a, 0x12, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, - 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x63, - 0x65, 0x70, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x6a, 0x75, - 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x06, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x02, 0x52, 0x0e, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xdd, 0x01, 0x0a, - 0x14, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, + 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xbd, 0x01, + 0x0a, 0x13, 0x54, 0x32, 0x49, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0c, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x32, 0x49, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, + 0x52, 0x0b, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x11, 0x61, 0x64, 0x61, 0x70, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x32, + 0x49, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x0f, 0x61, 0x64, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc5, 0x01, + 0x0a, 0x0d, 0x43, 0x41, 0x49, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x4d, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x43, 0x41, 0x49, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x57, + 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x26, 0x0a, 0x22, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, 0x4e, 0x47, 0x49, + 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x22, 0x96, 0x06, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, + 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x02, 0x52, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x54, 0x79, 0x70, 0x65, 0x48, 0x04, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, + 0x10, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, 0x69, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x69, 0x74, + 0x48, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, + 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x48, 0x06, 0x52, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x61, 0x69, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x41, 0x49, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x69, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x07, 0x61, + 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x32, 0x49, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x65, + 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x14, 0x66, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x65, + 0x64, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, + 0x61, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x22, 0x5e, 0x0a, 0x11, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xa8, 0x02, 0x0a, 0x12, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x52, 0x07, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x65, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x15, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x12, 0x31, 0x0a, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xfd, 0x03, 0x0a, 0x14, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x41, 0x64, 0x6a, 0x75, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x6e, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x03, 0x68, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x23, 0x0a, 0x0a, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x04, 0x52, 0x09, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x6e, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x48, - 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, - 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x06, 0x52, - 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0c, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, - 0x65, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x69, - 0x73, 0x65, 0x53, 0x65, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x75, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x6f, - 0x69, 0x73, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, - 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x70, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x63, - 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x6c, 0x75, 0x72, - 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x62, 0x6c, 0x75, 0x72, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1d, - 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x02, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x16, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc3, 0x02, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x62, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x42, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x09, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x65, - 0x76, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x48, 0x00, 0x52, 0x0d, 0x70, - 0x72, 0x65, 0x76, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x09, 0x64, 0x65, 0x70, 0x74, 0x68, 0x57, 0x61, 0x72, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, - 0x65, 0x76, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xa3, 0x01, 0x0a, 0x10, - 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, - 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x65, - 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x72, 0x5f, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x66, 0x61, 0x72, 0x50, 0x6c, 0x61, - 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x66, 0x6f, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, - 0x00, 0x52, 0x03, 0x66, 0x6f, 0x76, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x6f, - 0x76, 0x22, 0x95, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, - 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x6f, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x14, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x12, 0x46, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x65, - 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x64, 0x6f, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x64, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x6c, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x72, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, - 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0x9f, 0x02, 0x0a, 0x13, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x6f, 0x72, - 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x41, - 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x63, - 0x61, 0x6c, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x70, - 0x74, 0x68, 0x43, 0x61, 0x6c, 0x63, 0x48, 0x00, 0x52, 0x09, 0x64, 0x65, 0x70, 0x74, 0x68, 0x43, - 0x61, 0x6c, 0x63, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3f, 0x0a, - 0x0b, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x6f, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x6f, 0x73, 0x65, 0x42, 0x0b, - 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x83, 0x01, 0x0a, 0x0f, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x03, - 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x52, 0x03, 0x75, 0x73, - 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0a, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x1a, 0x0a, 0x06, 0x67, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x67, 0x70, 0x75, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, - 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, - 0x63, 0x70, 0x75, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x22, 0xe2, 0x01, 0x0a, 0x06, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, - 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, - 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x53, 0x0a, - 0x0b, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 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, 0x29, 0x0a, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, - 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x73, 0x22, 0x82, 0x05, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0e, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, - 0x70, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, - 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, - 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, + 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x63, 0x65, + 0x70, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0a, + 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x45, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x48, 0x02, 0x52, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, + 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, + 0x63, 0x65, 0x65, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x07, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, + 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, + 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x72, + 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x22, 0xfd, 0x03, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, + 0x6f, 0x6c, 0x6f, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x62, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, + 0x52, 0x0a, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x15, 0x0a, 0x03, 0x68, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, + 0x03, 0x68, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x61, 0x74, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x0a, 0x73, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x04, 0x52, 0x09, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x37, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x48, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x06, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, + 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x0b, 0x6e, + 0x6f, 0x69, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, + 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x65, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x68, 0x75, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, + 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x65, + 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x44, + 0x65, 0x70, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x65, 0x6e, + 0x64, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, + 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x6c, 0x75, 0x72, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x72, 0x52, 0x61, 0x64, + 0x69, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, + 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x5f, + 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, + 0x73, 0x65, 0x22, 0x29, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, + 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc3, 0x02, + 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x42, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x62, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x74, 0x68, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x09, 0x64, + 0x65, 0x70, 0x74, 0x68, 0x57, 0x61, 0x72, 0x70, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, + 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x22, 0xa3, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x65, + 0x72, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x61, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x66, 0x61, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x66, 0x6f, + 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x03, 0x66, 0x6f, 0x76, 0x88, 0x01, + 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x6f, 0x76, 0x22, 0x95, 0x02, 0x0a, 0x13, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x6f, 0x73, + 0x65, 0x12, 0x49, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x76, 0x69, + 0x65, 0x77, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x54, 0x6f, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x46, 0x0a, 0x11, + 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x6c, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, + 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, + 0x08, 0x22, 0x9f, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3c, 0x0a, + 0x0a, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x70, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x63, 0x48, 0x00, + 0x52, 0x09, 0x64, 0x65, 0x70, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x63, 0x12, 0x38, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x09, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x01, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x06, 0x65, 0x78, 0x74, 0x72, 0x61, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x02, 0x52, 0x06, 0x65, 0x78, 0x74, - 0x72, 0x61, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x73, 0x4a, 0x04, 0x08, 0x09, 0x10, - 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0x8f, 0x01, 0x0a, 0x08, 0x4f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x73, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, - 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, - 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 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, - 0x34, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, - 0x0b, 0x52, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x48, 0x10, 0x00, 0x12, 0x15, - 0x0a, 0x11, 0x52, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x43, 0x4c, - 0x4f, 0x55, 0x44, 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, + 0x6d, 0x52, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, + 0x70, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x61, + 0x6d, 0x65, 0x72, 0x61, 0x50, 0x6f, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x65, + 0x72, 0x61, 0x50, 0x6f, 0x73, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x22, 0x83, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x03, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x52, 0x03, 0x75, 0x73, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0a, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x06, 0x67, 0x70, 0x75, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x67, 0x70, 0x75, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x63, 0x70, 0x75, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1c, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, + 0x22, 0xe2, 0x01, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, + 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x09, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x0b, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x42, + 0x61, 0x74, 0x63, 0x68, 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, + 0x29, 0x0a, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x52, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x22, 0x82, 0x05, 0x0a, 0x07, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, + 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x27, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, + 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x05, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x42, + 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x06, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x48, 0x02, 0x52, 0x06, 0x65, 0x78, 0x74, 0x72, 0x61, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x73, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, + 0x8f, 0x01, 0x0a, 0x08, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x22, 0x73, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 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, + 0x64, 0x0a, 0x0a, 0x54, 0x32, 0x49, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x13, 0x0a, + 0x0f, 0x54, 0x32, 0x49, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x32, 0x49, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, + 0x5f, 0x53, 0x4b, 0x45, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x32, 0x49, + 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x50, 0x54, 0x48, 0x10, 0x02, 0x12, + 0x14, 0x0a, 0x10, 0x54, 0x32, 0x49, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, + 0x4e, 0x4e, 0x59, 0x10, 0x03, 0x2a, 0x4c, 0x0a, 0x0e, 0x54, 0x32, 0x49, 0x41, 0x64, 0x61, 0x70, + 0x74, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x32, 0x49, 0x41, 0x44, + 0x41, 0x50, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, + 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x32, 0x49, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x49, + 0x4e, 0x49, 0x54, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x4d, 0x41, 0x47, + 0x45, 0x10, 0x01, 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, 0x34, 0x0a, 0x0a, 0x52, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x4e, + 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x48, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, + 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x43, 0x4c, 0x4f, 0x55, 0x44, 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, } var ( @@ -4422,8 +4843,8 @@ func file_generation_proto_rawDescGZIP() []byte { return file_generation_proto_rawDescData } -var file_generation_proto_enumTypes = make([]protoimpl.EnumInfo, 18) -var file_generation_proto_msgTypes = make([]protoimpl.MessageInfo, 35) +var file_generation_proto_enumTypes = make([]protoimpl.EnumInfo, 21) +var file_generation_proto_msgTypes = make([]protoimpl.MessageInfo, 38) var file_generation_proto_goTypes = []interface{}{ (FinishReason)(0), // 0: gooseai.FinishReason (ArtifactType)(0), // 1: gooseai.ArtifactType @@ -4433,130 +4854,142 @@ var file_generation_proto_goTypes = []interface{}{ (Upscaler)(0), // 5: gooseai.Upscaler (GuidancePreset)(0), // 6: gooseai.GuidancePreset (ModelArchitecture)(0), // 7: gooseai.ModelArchitecture - (Action)(0), // 8: gooseai.Action - (ClassifierMode)(0), // 9: gooseai.ClassifierMode - (InterpolateMode)(0), // 10: gooseai.InterpolateMode - (BorderMode)(0), // 11: gooseai.BorderMode - (ColorMatchMode)(0), // 12: gooseai.ColorMatchMode - (CameraType)(0), // 13: gooseai.CameraType - (RenderMode)(0), // 14: gooseai.RenderMode - (AssetAction)(0), // 15: gooseai.AssetAction - (AssetUse)(0), // 16: gooseai.AssetUse - (StageAction)(0), // 17: gooseai.StageAction - (*Token)(nil), // 18: gooseai.Token - (*Tokens)(nil), // 19: gooseai.Tokens - (*Artifact)(nil), // 20: gooseai.Artifact - (*PromptParameters)(nil), // 21: gooseai.PromptParameters - (*Prompt)(nil), // 22: gooseai.Prompt - (*SamplerParameters)(nil), // 23: gooseai.SamplerParameters - (*ConditionerParameters)(nil), // 24: gooseai.ConditionerParameters - (*ScheduleParameters)(nil), // 25: gooseai.ScheduleParameters - (*StepParameter)(nil), // 26: gooseai.StepParameter - (*Model)(nil), // 27: gooseai.Model - (*CutoutParameters)(nil), // 28: gooseai.CutoutParameters - (*GuidanceScheduleParameters)(nil), // 29: gooseai.GuidanceScheduleParameters - (*GuidanceInstanceParameters)(nil), // 30: gooseai.GuidanceInstanceParameters - (*GuidanceParameters)(nil), // 31: gooseai.GuidanceParameters - (*TransformType)(nil), // 32: gooseai.TransformType - (*ImageParameters)(nil), // 33: gooseai.ImageParameters - (*ClassifierConcept)(nil), // 34: gooseai.ClassifierConcept - (*ClassifierCategory)(nil), // 35: gooseai.ClassifierCategory - (*ClassifierParameters)(nil), // 36: gooseai.ClassifierParameters - (*InterpolateParameters)(nil), // 37: gooseai.InterpolateParameters - (*TransformColorAdjust)(nil), // 38: gooseai.TransformColorAdjust - (*TransformDepthCalc)(nil), // 39: gooseai.TransformDepthCalc - (*TransformMatrix)(nil), // 40: gooseai.TransformMatrix - (*TransformResample)(nil), // 41: gooseai.TransformResample - (*CameraParameters)(nil), // 42: gooseai.CameraParameters - (*TransformCameraPose)(nil), // 43: gooseai.TransformCameraPose - (*TransformParameters)(nil), // 44: gooseai.TransformParameters - (*AssetParameters)(nil), // 45: gooseai.AssetParameters - (*AnswerMeta)(nil), // 46: gooseai.AnswerMeta - (*Answer)(nil), // 47: gooseai.Answer - (*AnswerBatch)(nil), // 48: gooseai.AnswerBatch - (*Request)(nil), // 49: gooseai.Request - (*OnStatus)(nil), // 50: gooseai.OnStatus - (*Stage)(nil), // 51: gooseai.Stage - (*ChainRequest)(nil), // 52: gooseai.ChainRequest - (*tensors.Tensor)(nil), // 53: tensors.Tensor - (*structpb.Struct)(nil), // 54: google.protobuf.Struct + (T2IAdapter)(0), // 8: gooseai.T2IAdapter + (T2IAdapterInit)(0), // 9: gooseai.T2IAdapterInit + (Action)(0), // 10: gooseai.Action + (ClassifierMode)(0), // 11: gooseai.ClassifierMode + (InterpolateMode)(0), // 12: gooseai.InterpolateMode + (BorderMode)(0), // 13: gooseai.BorderMode + (ColorMatchMode)(0), // 14: gooseai.ColorMatchMode + (CameraType)(0), // 15: gooseai.CameraType + (RenderMode)(0), // 16: gooseai.RenderMode + (AssetAction)(0), // 17: gooseai.AssetAction + (AssetUse)(0), // 18: gooseai.AssetUse + (StageAction)(0), // 19: gooseai.StageAction + (CAIParameters_ModelMetadata)(0), // 20: gooseai.CAIParameters.ModelMetadata + (*Token)(nil), // 21: gooseai.Token + (*Tokens)(nil), // 22: gooseai.Tokens + (*Artifact)(nil), // 23: gooseai.Artifact + (*PromptParameters)(nil), // 24: gooseai.PromptParameters + (*Prompt)(nil), // 25: gooseai.Prompt + (*SamplerParameters)(nil), // 26: gooseai.SamplerParameters + (*ConditionerParameters)(nil), // 27: gooseai.ConditionerParameters + (*ScheduleParameters)(nil), // 28: gooseai.ScheduleParameters + (*StepParameter)(nil), // 29: gooseai.StepParameter + (*Model)(nil), // 30: gooseai.Model + (*CutoutParameters)(nil), // 31: gooseai.CutoutParameters + (*GuidanceScheduleParameters)(nil), // 32: gooseai.GuidanceScheduleParameters + (*GuidanceInstanceParameters)(nil), // 33: gooseai.GuidanceInstanceParameters + (*GuidanceParameters)(nil), // 34: gooseai.GuidanceParameters + (*TransformType)(nil), // 35: gooseai.TransformType + (*T2IAdapterParameter)(nil), // 36: gooseai.T2IAdapterParameter + (*CAIParameters)(nil), // 37: gooseai.CAIParameters + (*FineTuningParameters)(nil), // 38: gooseai.FineTuningParameters + (*ImageParameters)(nil), // 39: gooseai.ImageParameters + (*ClassifierConcept)(nil), // 40: gooseai.ClassifierConcept + (*ClassifierCategory)(nil), // 41: gooseai.ClassifierCategory + (*ClassifierParameters)(nil), // 42: gooseai.ClassifierParameters + (*InterpolateParameters)(nil), // 43: gooseai.InterpolateParameters + (*TransformColorAdjust)(nil), // 44: gooseai.TransformColorAdjust + (*TransformDepthCalc)(nil), // 45: gooseai.TransformDepthCalc + (*TransformMatrix)(nil), // 46: gooseai.TransformMatrix + (*TransformResample)(nil), // 47: gooseai.TransformResample + (*CameraParameters)(nil), // 48: gooseai.CameraParameters + (*TransformCameraPose)(nil), // 49: gooseai.TransformCameraPose + (*TransformParameters)(nil), // 50: gooseai.TransformParameters + (*AssetParameters)(nil), // 51: gooseai.AssetParameters + (*AnswerMeta)(nil), // 52: gooseai.AnswerMeta + (*Answer)(nil), // 53: gooseai.Answer + (*AnswerBatch)(nil), // 54: gooseai.AnswerBatch + (*Request)(nil), // 55: gooseai.Request + (*OnStatus)(nil), // 56: gooseai.OnStatus + (*Stage)(nil), // 57: gooseai.Stage + (*ChainRequest)(nil), // 58: gooseai.ChainRequest + (*tensors.Tensor)(nil), // 59: tensors.Tensor + (*structpb.Struct)(nil), // 60: google.protobuf.Struct } var file_generation_proto_depIdxs = []int32{ - 18, // 0: gooseai.Tokens.tokens:type_name -> gooseai.Token + 21, // 0: gooseai.Tokens.tokens:type_name -> gooseai.Token 1, // 1: gooseai.Artifact.type:type_name -> gooseai.ArtifactType - 19, // 2: gooseai.Artifact.tokens:type_name -> gooseai.Tokens - 36, // 3: gooseai.Artifact.classifier:type_name -> gooseai.ClassifierParameters - 53, // 4: gooseai.Artifact.tensor:type_name -> tensors.Tensor + 22, // 2: gooseai.Artifact.tokens:type_name -> gooseai.Tokens + 42, // 3: gooseai.Artifact.classifier:type_name -> gooseai.ClassifierParameters + 59, // 4: gooseai.Artifact.tensor:type_name -> tensors.Tensor 0, // 5: gooseai.Artifact.finish_reason:type_name -> gooseai.FinishReason - 21, // 6: gooseai.Prompt.parameters:type_name -> gooseai.PromptParameters - 19, // 7: gooseai.Prompt.tokens:type_name -> gooseai.Tokens - 20, // 8: gooseai.Prompt.artifact:type_name -> gooseai.Artifact - 27, // 9: gooseai.ConditionerParameters.conditioner:type_name -> gooseai.Model - 23, // 10: gooseai.StepParameter.sampler:type_name -> gooseai.SamplerParameters - 25, // 11: gooseai.StepParameter.schedule:type_name -> gooseai.ScheduleParameters - 31, // 12: gooseai.StepParameter.guidance:type_name -> gooseai.GuidanceParameters + 24, // 6: gooseai.Prompt.parameters:type_name -> gooseai.PromptParameters + 22, // 7: gooseai.Prompt.tokens:type_name -> gooseai.Tokens + 23, // 8: gooseai.Prompt.artifact:type_name -> gooseai.Artifact + 30, // 9: gooseai.ConditionerParameters.conditioner:type_name -> gooseai.Model + 26, // 10: gooseai.StepParameter.sampler:type_name -> gooseai.SamplerParameters + 28, // 11: gooseai.StepParameter.schedule:type_name -> gooseai.ScheduleParameters + 34, // 12: gooseai.StepParameter.guidance:type_name -> gooseai.GuidanceParameters 7, // 13: gooseai.Model.architecture:type_name -> gooseai.ModelArchitecture - 28, // 14: gooseai.CutoutParameters.cutouts:type_name -> gooseai.CutoutParameters - 27, // 15: gooseai.GuidanceInstanceParameters.models:type_name -> gooseai.Model - 29, // 16: gooseai.GuidanceInstanceParameters.schedule:type_name -> gooseai.GuidanceScheduleParameters - 28, // 17: gooseai.GuidanceInstanceParameters.cutouts:type_name -> gooseai.CutoutParameters - 22, // 18: gooseai.GuidanceInstanceParameters.prompt:type_name -> gooseai.Prompt + 31, // 14: gooseai.CutoutParameters.cutouts:type_name -> gooseai.CutoutParameters + 30, // 15: gooseai.GuidanceInstanceParameters.models:type_name -> gooseai.Model + 32, // 16: gooseai.GuidanceInstanceParameters.schedule:type_name -> gooseai.GuidanceScheduleParameters + 31, // 17: gooseai.GuidanceInstanceParameters.cutouts:type_name -> gooseai.CutoutParameters + 25, // 18: gooseai.GuidanceInstanceParameters.prompt:type_name -> gooseai.Prompt 6, // 19: gooseai.GuidanceParameters.guidance_preset:type_name -> gooseai.GuidancePreset - 30, // 20: gooseai.GuidanceParameters.instances:type_name -> gooseai.GuidanceInstanceParameters + 33, // 20: gooseai.GuidanceParameters.instances:type_name -> gooseai.GuidanceInstanceParameters 4, // 21: gooseai.TransformType.diffusion:type_name -> gooseai.DiffusionSampler 5, // 22: gooseai.TransformType.upscaler:type_name -> gooseai.Upscaler - 32, // 23: gooseai.ImageParameters.transform:type_name -> gooseai.TransformType - 26, // 24: gooseai.ImageParameters.parameters:type_name -> gooseai.StepParameter - 2, // 25: gooseai.ImageParameters.masked_area_init:type_name -> gooseai.MaskedAreaInit - 3, // 26: gooseai.ImageParameters.weight_method:type_name -> gooseai.WeightMethod - 34, // 27: gooseai.ClassifierCategory.concepts:type_name -> gooseai.ClassifierConcept - 8, // 28: gooseai.ClassifierCategory.action:type_name -> gooseai.Action - 9, // 29: gooseai.ClassifierCategory.classifier_mode:type_name -> gooseai.ClassifierMode - 35, // 30: gooseai.ClassifierParameters.categories:type_name -> gooseai.ClassifierCategory - 35, // 31: gooseai.ClassifierParameters.exceeds:type_name -> gooseai.ClassifierCategory - 8, // 32: gooseai.ClassifierParameters.realized_action:type_name -> gooseai.Action - 10, // 33: gooseai.InterpolateParameters.mode:type_name -> gooseai.InterpolateMode - 20, // 34: gooseai.TransformColorAdjust.match_image:type_name -> gooseai.Artifact - 12, // 35: gooseai.TransformColorAdjust.match_mode:type_name -> gooseai.ColorMatchMode - 11, // 36: gooseai.TransformResample.border_mode:type_name -> gooseai.BorderMode - 40, // 37: gooseai.TransformResample.transform:type_name -> gooseai.TransformMatrix - 40, // 38: gooseai.TransformResample.prev_transform:type_name -> gooseai.TransformMatrix - 13, // 39: gooseai.CameraParameters.camera_type:type_name -> gooseai.CameraType - 40, // 40: gooseai.TransformCameraPose.world_to_view_matrix:type_name -> gooseai.TransformMatrix - 42, // 41: gooseai.TransformCameraPose.camera_parameters:type_name -> gooseai.CameraParameters - 14, // 42: gooseai.TransformCameraPose.render_mode:type_name -> gooseai.RenderMode - 38, // 43: gooseai.TransformParameters.color_adjust:type_name -> gooseai.TransformColorAdjust - 39, // 44: gooseai.TransformParameters.depth_calc:type_name -> gooseai.TransformDepthCalc - 41, // 45: gooseai.TransformParameters.resample:type_name -> gooseai.TransformResample - 43, // 46: gooseai.TransformParameters.camera_pose:type_name -> gooseai.TransformCameraPose - 15, // 47: gooseai.AssetParameters.action:type_name -> gooseai.AssetAction - 16, // 48: gooseai.AssetParameters.use:type_name -> gooseai.AssetUse - 46, // 49: gooseai.Answer.meta:type_name -> gooseai.AnswerMeta - 20, // 50: gooseai.Answer.artifacts:type_name -> gooseai.Artifact - 47, // 51: gooseai.AnswerBatch.answers:type_name -> gooseai.Answer - 1, // 52: gooseai.Request.requested_type:type_name -> gooseai.ArtifactType - 22, // 53: gooseai.Request.prompt:type_name -> gooseai.Prompt - 33, // 54: gooseai.Request.image:type_name -> gooseai.ImageParameters - 36, // 55: gooseai.Request.classifier:type_name -> gooseai.ClassifierParameters - 45, // 56: gooseai.Request.asset:type_name -> gooseai.AssetParameters - 37, // 57: gooseai.Request.interpolate:type_name -> gooseai.InterpolateParameters - 44, // 58: gooseai.Request.transform:type_name -> gooseai.TransformParameters - 24, // 59: gooseai.Request.conditioner:type_name -> gooseai.ConditionerParameters - 54, // 60: gooseai.Request.extras:type_name -> google.protobuf.Struct - 0, // 61: gooseai.OnStatus.reason:type_name -> gooseai.FinishReason - 17, // 62: gooseai.OnStatus.action:type_name -> gooseai.StageAction - 49, // 63: gooseai.Stage.request:type_name -> gooseai.Request - 50, // 64: gooseai.Stage.on_status:type_name -> gooseai.OnStatus - 51, // 65: gooseai.ChainRequest.stage:type_name -> gooseai.Stage - 49, // 66: gooseai.GenerationService.Generate:input_type -> gooseai.Request - 52, // 67: gooseai.GenerationService.ChainGenerate:input_type -> gooseai.ChainRequest - 47, // 68: gooseai.GenerationService.Generate:output_type -> gooseai.Answer - 47, // 69: gooseai.GenerationService.ChainGenerate:output_type -> gooseai.Answer - 68, // [68:70] is the sub-list for method output_type - 66, // [66:68] is the sub-list for method input_type - 66, // [66:66] is the sub-list for extension type_name - 66, // [66:66] is the sub-list for extension extendee - 0, // [0:66] is the sub-list for field type_name + 8, // 23: gooseai.T2IAdapterParameter.adapter_type:type_name -> gooseai.T2IAdapter + 9, // 24: gooseai.T2IAdapterParameter.adapter_init_type:type_name -> gooseai.T2IAdapterInit + 20, // 25: gooseai.CAIParameters.model_metadata:type_name -> gooseai.CAIParameters.ModelMetadata + 35, // 26: gooseai.ImageParameters.transform:type_name -> gooseai.TransformType + 29, // 27: gooseai.ImageParameters.parameters:type_name -> gooseai.StepParameter + 2, // 28: gooseai.ImageParameters.masked_area_init:type_name -> gooseai.MaskedAreaInit + 3, // 29: gooseai.ImageParameters.weight_method:type_name -> gooseai.WeightMethod + 37, // 30: gooseai.ImageParameters.cai_parameters:type_name -> gooseai.CAIParameters + 36, // 31: gooseai.ImageParameters.adapter:type_name -> gooseai.T2IAdapterParameter + 38, // 32: gooseai.ImageParameters.fine_tuning_parameters:type_name -> gooseai.FineTuningParameters + 40, // 33: gooseai.ClassifierCategory.concepts:type_name -> gooseai.ClassifierConcept + 10, // 34: gooseai.ClassifierCategory.action:type_name -> gooseai.Action + 11, // 35: gooseai.ClassifierCategory.classifier_mode:type_name -> gooseai.ClassifierMode + 41, // 36: gooseai.ClassifierParameters.categories:type_name -> gooseai.ClassifierCategory + 41, // 37: gooseai.ClassifierParameters.exceeds:type_name -> gooseai.ClassifierCategory + 10, // 38: gooseai.ClassifierParameters.realized_action:type_name -> gooseai.Action + 12, // 39: gooseai.InterpolateParameters.mode:type_name -> gooseai.InterpolateMode + 23, // 40: gooseai.TransformColorAdjust.match_image:type_name -> gooseai.Artifact + 14, // 41: gooseai.TransformColorAdjust.match_mode:type_name -> gooseai.ColorMatchMode + 13, // 42: gooseai.TransformResample.border_mode:type_name -> gooseai.BorderMode + 46, // 43: gooseai.TransformResample.transform:type_name -> gooseai.TransformMatrix + 46, // 44: gooseai.TransformResample.prev_transform:type_name -> gooseai.TransformMatrix + 15, // 45: gooseai.CameraParameters.camera_type:type_name -> gooseai.CameraType + 46, // 46: gooseai.TransformCameraPose.world_to_view_matrix:type_name -> gooseai.TransformMatrix + 48, // 47: gooseai.TransformCameraPose.camera_parameters:type_name -> gooseai.CameraParameters + 16, // 48: gooseai.TransformCameraPose.render_mode:type_name -> gooseai.RenderMode + 44, // 49: gooseai.TransformParameters.color_adjust:type_name -> gooseai.TransformColorAdjust + 45, // 50: gooseai.TransformParameters.depth_calc:type_name -> gooseai.TransformDepthCalc + 47, // 51: gooseai.TransformParameters.resample:type_name -> gooseai.TransformResample + 49, // 52: gooseai.TransformParameters.camera_pose:type_name -> gooseai.TransformCameraPose + 17, // 53: gooseai.AssetParameters.action:type_name -> gooseai.AssetAction + 18, // 54: gooseai.AssetParameters.use:type_name -> gooseai.AssetUse + 52, // 55: gooseai.Answer.meta:type_name -> gooseai.AnswerMeta + 23, // 56: gooseai.Answer.artifacts:type_name -> gooseai.Artifact + 53, // 57: gooseai.AnswerBatch.answers:type_name -> gooseai.Answer + 1, // 58: gooseai.Request.requested_type:type_name -> gooseai.ArtifactType + 25, // 59: gooseai.Request.prompt:type_name -> gooseai.Prompt + 39, // 60: gooseai.Request.image:type_name -> gooseai.ImageParameters + 42, // 61: gooseai.Request.classifier:type_name -> gooseai.ClassifierParameters + 51, // 62: gooseai.Request.asset:type_name -> gooseai.AssetParameters + 43, // 63: gooseai.Request.interpolate:type_name -> gooseai.InterpolateParameters + 50, // 64: gooseai.Request.transform:type_name -> gooseai.TransformParameters + 27, // 65: gooseai.Request.conditioner:type_name -> gooseai.ConditionerParameters + 60, // 66: gooseai.Request.extras:type_name -> google.protobuf.Struct + 0, // 67: gooseai.OnStatus.reason:type_name -> gooseai.FinishReason + 19, // 68: gooseai.OnStatus.action:type_name -> gooseai.StageAction + 55, // 69: gooseai.Stage.request:type_name -> gooseai.Request + 56, // 70: gooseai.Stage.on_status:type_name -> gooseai.OnStatus + 57, // 71: gooseai.ChainRequest.stage:type_name -> gooseai.Stage + 55, // 72: gooseai.GenerationService.Generate:input_type -> gooseai.Request + 58, // 73: gooseai.GenerationService.ChainGenerate:input_type -> gooseai.ChainRequest + 53, // 74: gooseai.GenerationService.Generate:output_type -> gooseai.Answer + 53, // 75: gooseai.GenerationService.ChainGenerate:output_type -> gooseai.Answer + 74, // [74:76] is the sub-list for method output_type + 72, // [72:74] is the sub-list for method input_type + 72, // [72:72] is the sub-list for extension type_name + 72, // [72:72] is the sub-list for extension extendee + 0, // [0:72] is the sub-list for field type_name } func init() { file_generation_proto_init() } @@ -4746,7 +5179,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImageParameters); i { + switch v := v.(*T2IAdapterParameter); i { case 0: return &v.state case 1: @@ -4758,7 +5191,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClassifierConcept); i { + switch v := v.(*CAIParameters); i { case 0: return &v.state case 1: @@ -4770,7 +5203,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClassifierCategory); i { + switch v := v.(*FineTuningParameters); i { case 0: return &v.state case 1: @@ -4782,7 +5215,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClassifierParameters); i { + switch v := v.(*ImageParameters); i { case 0: return &v.state case 1: @@ -4794,7 +5227,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterpolateParameters); i { + switch v := v.(*ClassifierConcept); i { case 0: return &v.state case 1: @@ -4806,7 +5239,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransformColorAdjust); i { + switch v := v.(*ClassifierCategory); i { case 0: return &v.state case 1: @@ -4818,7 +5251,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransformDepthCalc); i { + switch v := v.(*ClassifierParameters); i { case 0: return &v.state case 1: @@ -4830,7 +5263,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransformMatrix); i { + switch v := v.(*InterpolateParameters); i { case 0: return &v.state case 1: @@ -4842,7 +5275,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransformResample); i { + switch v := v.(*TransformColorAdjust); i { case 0: return &v.state case 1: @@ -4854,7 +5287,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CameraParameters); i { + switch v := v.(*TransformDepthCalc); i { case 0: return &v.state case 1: @@ -4866,7 +5299,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransformCameraPose); i { + switch v := v.(*TransformMatrix); i { case 0: return &v.state case 1: @@ -4878,7 +5311,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransformParameters); i { + switch v := v.(*TransformResample); i { case 0: return &v.state case 1: @@ -4890,7 +5323,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssetParameters); i { + switch v := v.(*CameraParameters); i { case 0: return &v.state case 1: @@ -4902,7 +5335,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnswerMeta); i { + switch v := v.(*TransformCameraPose); i { case 0: return &v.state case 1: @@ -4914,7 +5347,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Answer); i { + switch v := v.(*TransformParameters); i { case 0: return &v.state case 1: @@ -4926,7 +5359,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnswerBatch); i { + switch v := v.(*AssetParameters); i { case 0: return &v.state case 1: @@ -4938,7 +5371,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Request); i { + switch v := v.(*AnswerMeta); i { case 0: return &v.state case 1: @@ -4950,7 +5383,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnStatus); i { + switch v := v.(*Answer); i { case 0: return &v.state case 1: @@ -4962,7 +5395,7 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Stage); i { + switch v := v.(*AnswerBatch); i { case 0: return &v.state case 1: @@ -4974,6 +5407,42 @@ func file_generation_proto_init() { } } file_generation_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_generation_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_generation_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Stage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_generation_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChainRequest); i { case 0: return &v.state @@ -5011,38 +5480,42 @@ func file_generation_proto_init() { (*TransformType_Diffusion)(nil), (*TransformType_Upscaler)(nil), } - file_generation_proto_msgTypes[15].OneofWrappers = []interface{}{} - file_generation_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*CAIParameters_ModelMetadata_)(nil), + } file_generation_proto_msgTypes[17].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[18].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[19].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[20].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[21].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[22].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[23].OneofWrappers = []interface{}{} file_generation_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_generation_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_generation_proto_msgTypes[26].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[27].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[29].OneofWrappers = []interface{}{ (*TransformParameters_ColorAdjust)(nil), (*TransformParameters_DepthCalc)(nil), (*TransformParameters_Resample)(nil), (*TransformParameters_CameraPose)(nil), } - file_generation_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_generation_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_generation_proto_msgTypes[31].OneofWrappers = []interface{}{ + file_generation_proto_msgTypes[31].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[32].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[34].OneofWrappers = []interface{}{ (*Request_Image)(nil), (*Request_Classifier)(nil), (*Request_Asset)(nil), (*Request_Interpolate)(nil), (*Request_Transform)(nil), } - file_generation_proto_msgTypes[32].OneofWrappers = []interface{}{} + file_generation_proto_msgTypes[35].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_generation_proto_rawDesc, - NumEnums: 18, - NumMessages: 35, + NumEnums: 21, + NumMessages: 38, NumExtensions: 0, NumServices: 1, }, diff --git a/gooseai/generation/generation_pb.d.ts b/gooseai/generation/generation_pb.d.ts index c9adb25..dca40ef 100644 --- a/gooseai/generation/generation_pb.d.ts +++ b/gooseai/generation/generation_pb.d.ts @@ -606,6 +606,95 @@ export namespace TransformType { } } +export class T2IAdapterParameter extends jspb.Message { + getAdapterType(): T2IAdapterMap[keyof T2IAdapterMap]; + setAdapterType(value: T2IAdapterMap[keyof T2IAdapterMap]): void; + + getAdapterStrength(): number; + setAdapterStrength(value: number): void; + + getAdapterInitType(): T2IAdapterInitMap[keyof T2IAdapterInitMap]; + setAdapterInitType(value: T2IAdapterInitMap[keyof T2IAdapterInitMap]): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): T2IAdapterParameter.AsObject; + static toObject(includeInstance: boolean, msg: T2IAdapterParameter): T2IAdapterParameter.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: T2IAdapterParameter, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): T2IAdapterParameter; + static deserializeBinaryFromReader(message: T2IAdapterParameter, reader: jspb.BinaryReader): T2IAdapterParameter; +} + +export namespace T2IAdapterParameter { + export type AsObject = { + adapterType: T2IAdapterMap[keyof T2IAdapterMap], + adapterStrength: number, + adapterInitType: T2IAdapterInitMap[keyof T2IAdapterInitMap], + } +} + +export class CAIParameters extends jspb.Message { + hasModelMetadata(): boolean; + clearModelMetadata(): void; + getModelMetadata(): CAIParameters.ModelMetadataMap[keyof CAIParameters.ModelMetadataMap]; + setModelMetadata(value: CAIParameters.ModelMetadataMap[keyof CAIParameters.ModelMetadataMap]): void; + + getParametersCase(): CAIParameters.ParametersCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CAIParameters.AsObject; + static toObject(includeInstance: boolean, msg: CAIParameters): CAIParameters.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CAIParameters, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CAIParameters; + static deserializeBinaryFromReader(message: CAIParameters, reader: jspb.BinaryReader): CAIParameters; +} + +export namespace CAIParameters { + export type AsObject = { + modelMetadata: CAIParameters.ModelMetadataMap[keyof CAIParameters.ModelMetadataMap], + } + + export interface ModelMetadataMap { + MODEL_METADATA_UNSPECIFIED: 0; + MODEL_METADATA_SIGN_WITH_ENGINE_ID: 1; + } + + export const ModelMetadata: ModelMetadataMap; + + export enum ParametersCase { + PARAMETERS_NOT_SET = 0, + MODEL_METADATA = 1, + } +} + +export class FineTuningParameters extends jspb.Message { + getModelId(): string; + setModelId(value: string): void; + + hasWeight(): boolean; + clearWeight(): void; + getWeight(): number; + setWeight(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): FineTuningParameters.AsObject; + static toObject(includeInstance: boolean, msg: FineTuningParameters): FineTuningParameters.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: FineTuningParameters, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): FineTuningParameters; + static deserializeBinaryFromReader(message: FineTuningParameters, reader: jspb.BinaryReader): FineTuningParameters; +} + +export namespace FineTuningParameters { + export type AsObject = { + modelId: string, + weight: number, + } +} + export class ImageParameters extends jspb.Message { hasHeight(): boolean; clearHeight(): void; @@ -657,6 +746,21 @@ export class ImageParameters extends jspb.Message { getQuantize(): boolean; setQuantize(value: boolean): void; + hasCaiParameters(): boolean; + clearCaiParameters(): void; + getCaiParameters(): CAIParameters | undefined; + setCaiParameters(value?: CAIParameters): void; + + hasAdapter(): boolean; + clearAdapter(): void; + getAdapter(): T2IAdapterParameter | undefined; + setAdapter(value?: T2IAdapterParameter): void; + + clearFineTuningParametersList(): void; + getFineTuningParametersList(): Array; + setFineTuningParametersList(value: Array): void; + addFineTuningParameters(value?: FineTuningParameters, index?: number): FineTuningParameters; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): ImageParameters.AsObject; static toObject(includeInstance: boolean, msg: ImageParameters): ImageParameters.AsObject; @@ -679,6 +783,9 @@ export namespace ImageParameters { maskedAreaInit: MaskedAreaInitMap[keyof MaskedAreaInitMap], weightMethod: WeightMethodMap[keyof WeightMethodMap], quantize: boolean, + caiParameters?: CAIParameters.AsObject, + adapter?: T2IAdapterParameter.AsObject, + fineTuningParametersList: Array, } } @@ -1505,6 +1612,22 @@ export interface ModelArchitectureMap { export const ModelArchitecture: ModelArchitectureMap; +export interface T2IAdapterMap { + T2IADAPTER_NONE: 0; + T2IADAPTER_SKETCH: 1; + T2IADAPTER_DEPTH: 2; + T2IADAPTER_CANNY: 3; +} + +export const T2IAdapter: T2IAdapterMap; + +export interface T2IAdapterInitMap { + T2IADAPTERINIT_IMAGE: 0; + T2IADAPTERINIT_ADAPTER_IMAGE: 1; +} + +export const T2IAdapterInit: T2IAdapterInitMap; + export interface ActionMap { ACTION_PASSTHROUGH: 0; ACTION_REGENERATE_DUPLICATE: 1; diff --git a/gooseai/generation/generation_pb.js b/gooseai/generation/generation_pb.js index c332d00..7bab67e 100644 --- a/gooseai/generation/generation_pb.js +++ b/gooseai/generation/generation_pb.js @@ -36,6 +36,9 @@ 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.BorderMode', null, global); +goog.exportSymbol('proto.gooseai.CAIParameters', null, global); +goog.exportSymbol('proto.gooseai.CAIParameters.ModelMetadata', null, global); +goog.exportSymbol('proto.gooseai.CAIParameters.ParametersCase', null, global); goog.exportSymbol('proto.gooseai.CameraParameters', null, global); goog.exportSymbol('proto.gooseai.CameraType', null, global); goog.exportSymbol('proto.gooseai.ChainRequest', null, global); @@ -47,6 +50,7 @@ goog.exportSymbol('proto.gooseai.ColorMatchMode', null, global); goog.exportSymbol('proto.gooseai.ConditionerParameters', null, global); goog.exportSymbol('proto.gooseai.CutoutParameters', null, global); goog.exportSymbol('proto.gooseai.DiffusionSampler', null, global); +goog.exportSymbol('proto.gooseai.FineTuningParameters', null, global); goog.exportSymbol('proto.gooseai.FinishReason', null, global); goog.exportSymbol('proto.gooseai.GuidanceInstanceParameters', null, global); goog.exportSymbol('proto.gooseai.GuidanceParameters', null, global); @@ -70,6 +74,9 @@ goog.exportSymbol('proto.gooseai.ScheduleParameters', null, global); goog.exportSymbol('proto.gooseai.Stage', null, global); goog.exportSymbol('proto.gooseai.StageAction', null, global); goog.exportSymbol('proto.gooseai.StepParameter', null, global); +goog.exportSymbol('proto.gooseai.T2IAdapter', null, global); +goog.exportSymbol('proto.gooseai.T2IAdapterInit', null, global); +goog.exportSymbol('proto.gooseai.T2IAdapterParameter', null, global); goog.exportSymbol('proto.gooseai.Token', null, global); goog.exportSymbol('proto.gooseai.Tokens', null, global); goog.exportSymbol('proto.gooseai.TransformCameraPose', null, global); @@ -398,6 +405,69 @@ if (goog.DEBUG && !COMPILED) { */ proto.gooseai.TransformType.displayName = 'proto.gooseai.TransformType'; } +/** + * 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.T2IAdapterParameter = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.T2IAdapterParameter, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.T2IAdapterParameter.displayName = 'proto.gooseai.T2IAdapterParameter'; +} +/** + * 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.CAIParameters = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.gooseai.CAIParameters.oneofGroups_); +}; +goog.inherits(proto.gooseai.CAIParameters, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.CAIParameters.displayName = 'proto.gooseai.CAIParameters'; +} +/** + * 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.FineTuningParameters = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.FineTuningParameters, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.FineTuningParameters.displayName = 'proto.gooseai.FineTuningParameters'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -4888,72 +4958,639 @@ proto.gooseai.GuidanceParameters.prototype.setGuidancePreset = function(value) { /** - * repeated GuidanceInstanceParameters instances = 2; - * @return {!Array} + * repeated GuidanceInstanceParameters instances = 2; + * @return {!Array} + */ +proto.gooseai.GuidanceParameters.prototype.getInstancesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.gooseai.GuidanceInstanceParameters, 2)); +}; + + +/** + * @param {!Array} value + * @return {!proto.gooseai.GuidanceParameters} returns this +*/ +proto.gooseai.GuidanceParameters.prototype.setInstancesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); +}; + + +/** + * @param {!proto.gooseai.GuidanceInstanceParameters=} opt_value + * @param {number=} opt_index + * @return {!proto.gooseai.GuidanceInstanceParameters} + */ +proto.gooseai.GuidanceParameters.prototype.addInstances = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.gooseai.GuidanceInstanceParameters, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.gooseai.GuidanceParameters} returns this + */ +proto.gooseai.GuidanceParameters.prototype.clearInstancesList = function() { + return this.setInstancesList([]); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.gooseai.TransformType.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.gooseai.TransformType.TypeCase = { + TYPE_NOT_SET: 0, + DIFFUSION: 1, + UPSCALER: 2 +}; + +/** + * @return {proto.gooseai.TransformType.TypeCase} + */ +proto.gooseai.TransformType.prototype.getTypeCase = function() { + return /** @type {proto.gooseai.TransformType.TypeCase} */(jspb.Message.computeOneofCase(this, proto.gooseai.TransformType.oneofGroups_[0])); +}; + + + +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.TransformType.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.TransformType.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.TransformType} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.TransformType.toObject = function(includeInstance, msg) { + var f, obj = { + diffusion: jspb.Message.getFieldWithDefault(msg, 1, 0), + upscaler: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + 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.TransformType} + */ +proto.gooseai.TransformType.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.TransformType; + return proto.gooseai.TransformType.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.TransformType} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.TransformType} + */ +proto.gooseai.TransformType.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!proto.gooseai.DiffusionSampler} */ (reader.readEnum()); + msg.setDiffusion(value); + break; + case 2: + var value = /** @type {!proto.gooseai.Upscaler} */ (reader.readEnum()); + msg.setUpscaler(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.TransformType.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.TransformType.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.TransformType} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.TransformType.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!proto.gooseai.DiffusionSampler} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeEnum( + 1, + f + ); + } + f = /** @type {!proto.gooseai.Upscaler} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeEnum( + 2, + f + ); + } +}; + + +/** + * optional DiffusionSampler diffusion = 1; + * @return {!proto.gooseai.DiffusionSampler} + */ +proto.gooseai.TransformType.prototype.getDiffusion = function() { + return /** @type {!proto.gooseai.DiffusionSampler} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {!proto.gooseai.DiffusionSampler} value + * @return {!proto.gooseai.TransformType} returns this + */ +proto.gooseai.TransformType.prototype.setDiffusion = function(value) { + return jspb.Message.setOneofField(this, 1, proto.gooseai.TransformType.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.TransformType} returns this + */ +proto.gooseai.TransformType.prototype.clearDiffusion = function() { + return jspb.Message.setOneofField(this, 1, proto.gooseai.TransformType.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.TransformType.prototype.hasDiffusion = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Upscaler upscaler = 2; + * @return {!proto.gooseai.Upscaler} + */ +proto.gooseai.TransformType.prototype.getUpscaler = function() { + return /** @type {!proto.gooseai.Upscaler} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.gooseai.Upscaler} value + * @return {!proto.gooseai.TransformType} returns this + */ +proto.gooseai.TransformType.prototype.setUpscaler = function(value) { + return jspb.Message.setOneofField(this, 2, proto.gooseai.TransformType.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.TransformType} returns this + */ +proto.gooseai.TransformType.prototype.clearUpscaler = function() { + return jspb.Message.setOneofField(this, 2, proto.gooseai.TransformType.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.TransformType.prototype.hasUpscaler = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +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.T2IAdapterParameter.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.T2IAdapterParameter.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.T2IAdapterParameter} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.T2IAdapterParameter.toObject = function(includeInstance, msg) { + var f, obj = { + adapterType: jspb.Message.getFieldWithDefault(msg, 1, 0), + adapterStrength: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0), + adapterInitType: jspb.Message.getFieldWithDefault(msg, 3, 0) + }; + + 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.T2IAdapterParameter} + */ +proto.gooseai.T2IAdapterParameter.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.T2IAdapterParameter; + return proto.gooseai.T2IAdapterParameter.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.T2IAdapterParameter} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.T2IAdapterParameter} + */ +proto.gooseai.T2IAdapterParameter.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!proto.gooseai.T2IAdapter} */ (reader.readEnum()); + msg.setAdapterType(value); + break; + case 2: + var value = /** @type {number} */ (reader.readFloat()); + msg.setAdapterStrength(value); + break; + case 3: + var value = /** @type {!proto.gooseai.T2IAdapterInit} */ (reader.readEnum()); + msg.setAdapterInitType(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.T2IAdapterParameter.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.T2IAdapterParameter.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.T2IAdapterParameter} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.T2IAdapterParameter.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getAdapterType(); + if (f !== 0.0) { + writer.writeEnum( + 1, + f + ); + } + f = message.getAdapterStrength(); + if (f !== 0.0) { + writer.writeFloat( + 2, + f + ); + } + f = message.getAdapterInitType(); + if (f !== 0.0) { + writer.writeEnum( + 3, + f + ); + } +}; + + +/** + * optional T2IAdapter adapter_type = 1; + * @return {!proto.gooseai.T2IAdapter} + */ +proto.gooseai.T2IAdapterParameter.prototype.getAdapterType = function() { + return /** @type {!proto.gooseai.T2IAdapter} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {!proto.gooseai.T2IAdapter} value + * @return {!proto.gooseai.T2IAdapterParameter} returns this + */ +proto.gooseai.T2IAdapterParameter.prototype.setAdapterType = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); +}; + + +/** + * optional float adapter_strength = 2; + * @return {number} + */ +proto.gooseai.T2IAdapterParameter.prototype.getAdapterStrength = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0)); +}; + + +/** + * @param {number} value + * @return {!proto.gooseai.T2IAdapterParameter} returns this + */ +proto.gooseai.T2IAdapterParameter.prototype.setAdapterStrength = function(value) { + return jspb.Message.setProto3FloatField(this, 2, value); +}; + + +/** + * optional T2IAdapterInit adapter_init_type = 3; + * @return {!proto.gooseai.T2IAdapterInit} + */ +proto.gooseai.T2IAdapterParameter.prototype.getAdapterInitType = function() { + return /** @type {!proto.gooseai.T2IAdapterInit} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {!proto.gooseai.T2IAdapterInit} value + * @return {!proto.gooseai.T2IAdapterParameter} returns this + */ +proto.gooseai.T2IAdapterParameter.prototype.setAdapterInitType = function(value) { + return jspb.Message.setProto3EnumField(this, 3, value); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.gooseai.CAIParameters.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.gooseai.CAIParameters.ParametersCase = { + PARAMETERS_NOT_SET: 0, + MODEL_METADATA: 1 +}; + +/** + * @return {proto.gooseai.CAIParameters.ParametersCase} + */ +proto.gooseai.CAIParameters.prototype.getParametersCase = function() { + return /** @type {proto.gooseai.CAIParameters.ParametersCase} */(jspb.Message.computeOneofCase(this, proto.gooseai.CAIParameters.oneofGroups_[0])); +}; + + + +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.CAIParameters.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.CAIParameters.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.CAIParameters} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.CAIParameters.toObject = function(includeInstance, msg) { + var f, obj = { + modelMetadata: jspb.Message.getFieldWithDefault(msg, 1, 0) + }; + + 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.CAIParameters} + */ +proto.gooseai.CAIParameters.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.CAIParameters; + return proto.gooseai.CAIParameters.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.CAIParameters} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.CAIParameters} + */ +proto.gooseai.CAIParameters.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!proto.gooseai.CAIParameters.ModelMetadata} */ (reader.readEnum()); + msg.setModelMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.gooseai.GuidanceParameters.prototype.getInstancesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.gooseai.GuidanceInstanceParameters, 2)); +proto.gooseai.CAIParameters.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.CAIParameters.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!Array} value - * @return {!proto.gooseai.GuidanceParameters} returns this -*/ -proto.gooseai.GuidanceParameters.prototype.setInstancesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 2, value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.gooseai.CAIParameters} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.CAIParameters.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {!proto.gooseai.CAIParameters.ModelMetadata} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeEnum( + 1, + f + ); + } }; /** - * @param {!proto.gooseai.GuidanceInstanceParameters=} opt_value - * @param {number=} opt_index - * @return {!proto.gooseai.GuidanceInstanceParameters} + * @enum {number} */ -proto.gooseai.GuidanceParameters.prototype.addInstances = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.gooseai.GuidanceInstanceParameters, opt_index); +proto.gooseai.CAIParameters.ModelMetadata = { + MODEL_METADATA_UNSPECIFIED: 0, + MODEL_METADATA_SIGN_WITH_ENGINE_ID: 1 }; - /** - * Clears the list making it empty but non-null. - * @return {!proto.gooseai.GuidanceParameters} returns this + * optional ModelMetadata model_metadata = 1; + * @return {!proto.gooseai.CAIParameters.ModelMetadata} */ -proto.gooseai.GuidanceParameters.prototype.clearInstancesList = function() { - return this.setInstancesList([]); +proto.gooseai.CAIParameters.prototype.getModelMetadata = function() { + return /** @type {!proto.gooseai.CAIParameters.ModelMetadata} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; - /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * @param {!proto.gooseai.CAIParameters.ModelMetadata} value + * @return {!proto.gooseai.CAIParameters} returns this */ -proto.gooseai.TransformType.oneofGroups_ = [[1,2]]; +proto.gooseai.CAIParameters.prototype.setModelMetadata = function(value) { + return jspb.Message.setOneofField(this, 1, proto.gooseai.CAIParameters.oneofGroups_[0], value); +}; + /** - * @enum {number} + * Clears the field making it undefined. + * @return {!proto.gooseai.CAIParameters} returns this */ -proto.gooseai.TransformType.TypeCase = { - TYPE_NOT_SET: 0, - DIFFUSION: 1, - UPSCALER: 2 +proto.gooseai.CAIParameters.prototype.clearModelMetadata = function() { + return jspb.Message.setOneofField(this, 1, proto.gooseai.CAIParameters.oneofGroups_[0], undefined); }; + /** - * @return {proto.gooseai.TransformType.TypeCase} + * Returns whether this field is set. + * @return {boolean} */ -proto.gooseai.TransformType.prototype.getTypeCase = function() { - return /** @type {proto.gooseai.TransformType.TypeCase} */(jspb.Message.computeOneofCase(this, proto.gooseai.TransformType.oneofGroups_[0])); +proto.gooseai.CAIParameters.prototype.hasModelMetadata = function() { + return jspb.Message.getField(this, 1) != null; }; + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -4967,8 +5604,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.gooseai.TransformType.prototype.toObject = function(opt_includeInstance) { - return proto.gooseai.TransformType.toObject(opt_includeInstance, this); +proto.gooseai.FineTuningParameters.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.FineTuningParameters.toObject(opt_includeInstance, this); }; @@ -4977,14 +5614,14 @@ proto.gooseai.TransformType.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.gooseai.TransformType} msg The msg instance to transform. + * @param {!proto.gooseai.FineTuningParameters} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.gooseai.TransformType.toObject = function(includeInstance, msg) { +proto.gooseai.FineTuningParameters.toObject = function(includeInstance, msg) { var f, obj = { - diffusion: jspb.Message.getFieldWithDefault(msg, 1, 0), - upscaler: jspb.Message.getFieldWithDefault(msg, 2, 0) + modelId: jspb.Message.getFieldWithDefault(msg, 1, ""), + weight: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0) }; if (includeInstance) { @@ -4998,23 +5635,23 @@ proto.gooseai.TransformType.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.gooseai.TransformType} + * @return {!proto.gooseai.FineTuningParameters} */ -proto.gooseai.TransformType.deserializeBinary = function(bytes) { +proto.gooseai.FineTuningParameters.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.gooseai.TransformType; - return proto.gooseai.TransformType.deserializeBinaryFromReader(msg, reader); + var msg = new proto.gooseai.FineTuningParameters; + return proto.gooseai.FineTuningParameters.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.gooseai.TransformType} msg The message object to deserialize into. + * @param {!proto.gooseai.FineTuningParameters} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.gooseai.TransformType} + * @return {!proto.gooseai.FineTuningParameters} */ -proto.gooseai.TransformType.deserializeBinaryFromReader = function(msg, reader) { +proto.gooseai.FineTuningParameters.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5022,12 +5659,12 @@ proto.gooseai.TransformType.deserializeBinaryFromReader = function(msg, reader) var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!proto.gooseai.DiffusionSampler} */ (reader.readEnum()); - msg.setDiffusion(value); + var value = /** @type {string} */ (reader.readString()); + msg.setModelId(value); break; case 2: - var value = /** @type {!proto.gooseai.Upscaler} */ (reader.readEnum()); - msg.setUpscaler(value); + var value = /** @type {number} */ (reader.readFloat()); + msg.setWeight(value); break; default: reader.skipField(); @@ -5042,9 +5679,9 @@ proto.gooseai.TransformType.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.gooseai.TransformType.prototype.serializeBinary = function() { +proto.gooseai.FineTuningParameters.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.gooseai.TransformType.serializeBinaryToWriter(this, writer); + proto.gooseai.FineTuningParameters.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5052,22 +5689,22 @@ proto.gooseai.TransformType.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.gooseai.TransformType} message + * @param {!proto.gooseai.FineTuningParameters} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.gooseai.TransformType.serializeBinaryToWriter = function(message, writer) { +proto.gooseai.FineTuningParameters.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = /** @type {!proto.gooseai.DiffusionSampler} */ (jspb.Message.getField(message, 1)); - if (f != null) { - writer.writeEnum( + f = message.getModelId(); + if (f.length > 0) { + writer.writeString( 1, f ); } - f = /** @type {!proto.gooseai.Upscaler} */ (jspb.Message.getField(message, 2)); + f = /** @type {number} */ (jspb.Message.getField(message, 2)); if (f != null) { - writer.writeEnum( + writer.writeFloat( 2, f ); @@ -5076,65 +5713,47 @@ proto.gooseai.TransformType.serializeBinaryToWriter = function(message, writer) /** - * optional DiffusionSampler diffusion = 1; - * @return {!proto.gooseai.DiffusionSampler} - */ -proto.gooseai.TransformType.prototype.getDiffusion = function() { - return /** @type {!proto.gooseai.DiffusionSampler} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {!proto.gooseai.DiffusionSampler} value - * @return {!proto.gooseai.TransformType} returns this - */ -proto.gooseai.TransformType.prototype.setDiffusion = function(value) { - return jspb.Message.setOneofField(this, 1, proto.gooseai.TransformType.oneofGroups_[0], value); -}; - - -/** - * Clears the field making it undefined. - * @return {!proto.gooseai.TransformType} returns this + * optional string model_id = 1; + * @return {string} */ -proto.gooseai.TransformType.prototype.clearDiffusion = function() { - return jspb.Message.setOneofField(this, 1, proto.gooseai.TransformType.oneofGroups_[0], undefined); +proto.gooseai.FineTuningParameters.prototype.getModelId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {string} value + * @return {!proto.gooseai.FineTuningParameters} returns this */ -proto.gooseai.TransformType.prototype.hasDiffusion = function() { - return jspb.Message.getField(this, 1) != null; +proto.gooseai.FineTuningParameters.prototype.setModelId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional Upscaler upscaler = 2; - * @return {!proto.gooseai.Upscaler} + * optional float weight = 2; + * @return {number} */ -proto.gooseai.TransformType.prototype.getUpscaler = function() { - return /** @type {!proto.gooseai.Upscaler} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.gooseai.FineTuningParameters.prototype.getWeight = function() { + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0)); }; /** - * @param {!proto.gooseai.Upscaler} value - * @return {!proto.gooseai.TransformType} returns this + * @param {number} value + * @return {!proto.gooseai.FineTuningParameters} returns this */ -proto.gooseai.TransformType.prototype.setUpscaler = function(value) { - return jspb.Message.setOneofField(this, 2, proto.gooseai.TransformType.oneofGroups_[0], value); +proto.gooseai.FineTuningParameters.prototype.setWeight = function(value) { + return jspb.Message.setField(this, 2, value); }; /** * Clears the field making it undefined. - * @return {!proto.gooseai.TransformType} returns this + * @return {!proto.gooseai.FineTuningParameters} returns this */ -proto.gooseai.TransformType.prototype.clearUpscaler = function() { - return jspb.Message.setOneofField(this, 2, proto.gooseai.TransformType.oneofGroups_[0], undefined); +proto.gooseai.FineTuningParameters.prototype.clearWeight = function() { + return jspb.Message.setField(this, 2, undefined); }; @@ -5142,7 +5761,7 @@ proto.gooseai.TransformType.prototype.clearUpscaler = function() { * Returns whether this field is set. * @return {boolean} */ -proto.gooseai.TransformType.prototype.hasUpscaler = function() { +proto.gooseai.FineTuningParameters.prototype.hasWeight = function() { return jspb.Message.getField(this, 2) != null; }; @@ -5153,7 +5772,7 @@ proto.gooseai.TransformType.prototype.hasUpscaler = function() { * @private {!Array} * @const */ -proto.gooseai.ImageParameters.repeatedFields_ = [3,7]; +proto.gooseai.ImageParameters.repeatedFields_ = [3,7,13]; @@ -5196,7 +5815,11 @@ proto.gooseai.ImageParameters.toObject = function(includeInstance, msg) { proto.gooseai.StepParameter.toObject, includeInstance), maskedAreaInit: jspb.Message.getFieldWithDefault(msg, 8, 0), weightMethod: jspb.Message.getFieldWithDefault(msg, 9, 0), - quantize: jspb.Message.getBooleanFieldWithDefault(msg, 10, false) + quantize: jspb.Message.getBooleanFieldWithDefault(msg, 10, false), + caiParameters: (f = msg.getCaiParameters()) && proto.gooseai.CAIParameters.toObject(includeInstance, f), + adapter: (f = msg.getAdapter()) && proto.gooseai.T2IAdapterParameter.toObject(includeInstance, f), + fineTuningParametersList: jspb.Message.toObjectList(msg.getFineTuningParametersList(), + proto.gooseai.FineTuningParameters.toObject, includeInstance) }; if (includeInstance) { @@ -5277,6 +5900,21 @@ proto.gooseai.ImageParameters.deserializeBinaryFromReader = function(msg, reader var value = /** @type {boolean} */ (reader.readBool()); msg.setQuantize(value); break; + case 11: + var value = new proto.gooseai.CAIParameters; + reader.readMessage(value,proto.gooseai.CAIParameters.deserializeBinaryFromReader); + msg.setCaiParameters(value); + break; + case 12: + var value = new proto.gooseai.T2IAdapterParameter; + reader.readMessage(value,proto.gooseai.T2IAdapterParameter.deserializeBinaryFromReader); + msg.setAdapter(value); + break; + case 13: + var value = new proto.gooseai.FineTuningParameters; + reader.readMessage(value,proto.gooseai.FineTuningParameters.deserializeBinaryFromReader); + msg.addFineTuningParameters(value); + break; default: reader.skipField(); break; @@ -5378,6 +6016,30 @@ proto.gooseai.ImageParameters.serializeBinaryToWriter = function(message, writer f ); } + f = message.getCaiParameters(); + if (f != null) { + writer.writeMessage( + 11, + f, + proto.gooseai.CAIParameters.serializeBinaryToWriter + ); + } + f = message.getAdapter(); + if (f != null) { + writer.writeMessage( + 12, + f, + proto.gooseai.T2IAdapterParameter.serializeBinaryToWriter + ); + } + f = message.getFineTuningParametersList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 13, + f, + proto.gooseai.FineTuningParameters.serializeBinaryToWriter + ); + } }; @@ -5745,6 +6407,118 @@ proto.gooseai.ImageParameters.prototype.hasQuantize = function() { }; +/** + * optional CAIParameters cai_parameters = 11; + * @return {?proto.gooseai.CAIParameters} + */ +proto.gooseai.ImageParameters.prototype.getCaiParameters = function() { + return /** @type{?proto.gooseai.CAIParameters} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.CAIParameters, 11)); +}; + + +/** + * @param {?proto.gooseai.CAIParameters|undefined} value + * @return {!proto.gooseai.ImageParameters} returns this +*/ +proto.gooseai.ImageParameters.prototype.setCaiParameters = function(value) { + return jspb.Message.setWrapperField(this, 11, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.ImageParameters} returns this + */ +proto.gooseai.ImageParameters.prototype.clearCaiParameters = function() { + return this.setCaiParameters(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.ImageParameters.prototype.hasCaiParameters = function() { + return jspb.Message.getField(this, 11) != null; +}; + + +/** + * optional T2IAdapterParameter adapter = 12; + * @return {?proto.gooseai.T2IAdapterParameter} + */ +proto.gooseai.ImageParameters.prototype.getAdapter = function() { + return /** @type{?proto.gooseai.T2IAdapterParameter} */ ( + jspb.Message.getWrapperField(this, proto.gooseai.T2IAdapterParameter, 12)); +}; + + +/** + * @param {?proto.gooseai.T2IAdapterParameter|undefined} value + * @return {!proto.gooseai.ImageParameters} returns this +*/ +proto.gooseai.ImageParameters.prototype.setAdapter = function(value) { + return jspb.Message.setWrapperField(this, 12, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.gooseai.ImageParameters} returns this + */ +proto.gooseai.ImageParameters.prototype.clearAdapter = function() { + return this.setAdapter(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.ImageParameters.prototype.hasAdapter = function() { + return jspb.Message.getField(this, 12) != null; +}; + + +/** + * repeated FineTuningParameters fine_tuning_parameters = 13; + * @return {!Array} + */ +proto.gooseai.ImageParameters.prototype.getFineTuningParametersList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.gooseai.FineTuningParameters, 13)); +}; + + +/** + * @param {!Array} value + * @return {!proto.gooseai.ImageParameters} returns this +*/ +proto.gooseai.ImageParameters.prototype.setFineTuningParametersList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 13, value); +}; + + +/** + * @param {!proto.gooseai.FineTuningParameters=} opt_value + * @param {number=} opt_index + * @return {!proto.gooseai.FineTuningParameters} + */ +proto.gooseai.ImageParameters.prototype.addFineTuningParameters = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.gooseai.FineTuningParameters, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.gooseai.ImageParameters} returns this + */ +proto.gooseai.ImageParameters.prototype.clearFineTuningParametersList = function() { + return this.setFineTuningParametersList([]); +}; + + @@ -11242,6 +12016,24 @@ proto.gooseai.ModelArchitecture = { MODEL_ARCHITECTURE_LDM: 3 }; +/** + * @enum {number} + */ +proto.gooseai.T2IAdapter = { + T2IADAPTER_NONE: 0, + T2IADAPTER_SKETCH: 1, + T2IADAPTER_DEPTH: 2, + T2IADAPTER_CANNY: 3 +}; + +/** + * @enum {number} + */ +proto.gooseai.T2IAdapterInit = { + T2IADAPTERINIT_IMAGE: 0, + T2IADAPTERINIT_ADAPTER_IMAGE: 1 +}; + /** * @enum {number} */ diff --git a/gooseai/generation/generation_pb2.py b/gooseai/generation/generation_pb2.py index 1c46fe2..a3cd696 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\"}\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\"\xd9\x01\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\x12\n\ndo_prefill\x18\x05 \x01(\x08\x12(\n\x0brender_mode\x18\x08 \x01(\x0e\x32\x13.gooseai.RenderModeJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\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*4\n\nRenderMode\x12\x0f\n\x0bRENDER_MESH\x10\x00\x12\x15\n\x11RENDER_POINTCLOUD\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\"\x8e\x01\n\x13T2IAdapterParameter\x12)\n\x0c\x61\x64\x61pter_type\x18\x01 \x01(\x0e\x32\x13.gooseai.T2IAdapter\x12\x18\n\x10\x61\x64\x61pter_strength\x18\x02 \x01(\x02\x12\x32\n\x11\x61\x64\x61pter_init_type\x18\x03 \x01(\x0e\x32\x17.gooseai.T2IAdapterInit\"\xb6\x01\n\rCAIParameters\x12>\n\x0emodel_metadata\x18\x01 \x01(\x0e\x32$.gooseai.CAIParameters.ModelMetadataH\x00\"W\n\rModelMetadata\x12\x1e\n\x1aMODEL_METADATA_UNSPECIFIED\x10\x00\x12&\n\"MODEL_METADATA_SIGN_WITH_ENGINE_ID\x10\x01\x42\x0c\n\nparameters\"H\n\x14\x46ineTuningParameters\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x42\t\n\x07_weight\"\x84\x05\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\x12\x33\n\x0e\x63\x61i_parameters\x18\x0b \x01(\x0b\x32\x16.gooseai.CAIParametersH\x08\x88\x01\x01\x12\x32\n\x07\x61\x64\x61pter\x18\x0c \x01(\x0b\x32\x1c.gooseai.T2IAdapterParameterH\t\x88\x01\x01\x12=\n\x16\x66ine_tuning_parameters\x18\r \x03(\x0b\x32\x1d.gooseai.FineTuningParametersB\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_quantizeB\x11\n\x0f_cai_parametersB\n\n\x08_adapter\"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\"}\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\"\xd9\x01\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\x12\n\ndo_prefill\x18\x05 \x01(\x08\x12(\n\x0brender_mode\x18\x08 \x01(\x0e\x32\x13.gooseai.RenderModeJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\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*d\n\nT2IAdapter\x12\x13\n\x0fT2IADAPTER_NONE\x10\x00\x12\x15\n\x11T2IADAPTER_SKETCH\x10\x01\x12\x14\n\x10T2IADAPTER_DEPTH\x10\x02\x12\x14\n\x10T2IADAPTER_CANNY\x10\x03*L\n\x0eT2IAdapterInit\x12\x18\n\x14T2IADAPTERINIT_IMAGE\x10\x00\x12 \n\x1cT2IADAPTERINIT_ADAPTER_IMAGE\x10\x01*\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*4\n\nRenderMode\x12\x0f\n\x0bRENDER_MESH\x10\x00\x12\x15\n\x11RENDER_POINTCLOUD\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') _FINISHREASON = DESCRIPTOR.enum_types_by_name['FinishReason'] FinishReason = enum_type_wrapper.EnumTypeWrapper(_FINISHREASON) @@ -35,6 +35,10 @@ GuidancePreset = enum_type_wrapper.EnumTypeWrapper(_GUIDANCEPRESET) _MODELARCHITECTURE = DESCRIPTOR.enum_types_by_name['ModelArchitecture'] ModelArchitecture = enum_type_wrapper.EnumTypeWrapper(_MODELARCHITECTURE) +_T2IADAPTER = DESCRIPTOR.enum_types_by_name['T2IAdapter'] +T2IAdapter = enum_type_wrapper.EnumTypeWrapper(_T2IADAPTER) +_T2IADAPTERINIT = DESCRIPTOR.enum_types_by_name['T2IAdapterInit'] +T2IAdapterInit = enum_type_wrapper.EnumTypeWrapper(_T2IADAPTERINIT) _ACTION = DESCRIPTOR.enum_types_by_name['Action'] Action = enum_type_wrapper.EnumTypeWrapper(_ACTION) _CLASSIFIERMODE = DESCRIPTOR.enum_types_by_name['ClassifierMode'] @@ -101,6 +105,12 @@ MODEL_ARCHITECTURE_CLIP_VIT = 1 MODEL_ARCHITECTURE_CLIP_RESNET = 2 MODEL_ARCHITECTURE_LDM = 3 +T2IADAPTER_NONE = 0 +T2IADAPTER_SKETCH = 1 +T2IADAPTER_DEPTH = 2 +T2IADAPTER_CANNY = 3 +T2IADAPTERINIT_IMAGE = 0 +T2IADAPTERINIT_ADAPTER_IMAGE = 1 ACTION_PASSTHROUGH = 0 ACTION_REGENERATE_DUPLICATE = 1 ACTION_REGENERATE = 2 @@ -154,6 +164,9 @@ _GUIDANCEINSTANCEPARAMETERS = DESCRIPTOR.message_types_by_name['GuidanceInstanceParameters'] _GUIDANCEPARAMETERS = DESCRIPTOR.message_types_by_name['GuidanceParameters'] _TRANSFORMTYPE = DESCRIPTOR.message_types_by_name['TransformType'] +_T2IADAPTERPARAMETER = DESCRIPTOR.message_types_by_name['T2IAdapterParameter'] +_CAIPARAMETERS = DESCRIPTOR.message_types_by_name['CAIParameters'] +_FINETUNINGPARAMETERS = DESCRIPTOR.message_types_by_name['FineTuningParameters'] _IMAGEPARAMETERS = DESCRIPTOR.message_types_by_name['ImageParameters'] _CLASSIFIERCONCEPT = DESCRIPTOR.message_types_by_name['ClassifierConcept'] _CLASSIFIERCATEGORY = DESCRIPTOR.message_types_by_name['ClassifierCategory'] @@ -174,6 +187,7 @@ _ONSTATUS = DESCRIPTOR.message_types_by_name['OnStatus'] _STAGE = DESCRIPTOR.message_types_by_name['Stage'] _CHAINREQUEST = DESCRIPTOR.message_types_by_name['ChainRequest'] +_CAIPARAMETERS_MODELMETADATA = _CAIPARAMETERS.enum_types_by_name['ModelMetadata'] Token = _reflection.GeneratedProtocolMessageType('Token', (_message.Message,), { 'DESCRIPTOR' : _TOKEN, '__module__' : 'generation_pb2' @@ -279,6 +293,27 @@ }) _sym_db.RegisterMessage(TransformType) +T2IAdapterParameter = _reflection.GeneratedProtocolMessageType('T2IAdapterParameter', (_message.Message,), { + 'DESCRIPTOR' : _T2IADAPTERPARAMETER, + '__module__' : 'generation_pb2' + # @@protoc_insertion_point(class_scope:gooseai.T2IAdapterParameter) + }) +_sym_db.RegisterMessage(T2IAdapterParameter) + +CAIParameters = _reflection.GeneratedProtocolMessageType('CAIParameters', (_message.Message,), { + 'DESCRIPTOR' : _CAIPARAMETERS, + '__module__' : 'generation_pb2' + # @@protoc_insertion_point(class_scope:gooseai.CAIParameters) + }) +_sym_db.RegisterMessage(CAIParameters) + +FineTuningParameters = _reflection.GeneratedProtocolMessageType('FineTuningParameters', (_message.Message,), { + 'DESCRIPTOR' : _FINETUNINGPARAMETERS, + '__module__' : 'generation_pb2' + # @@protoc_insertion_point(class_scope:gooseai.FineTuningParameters) + }) +_sym_db.RegisterMessage(FineTuningParameters) + ImageParameters = _reflection.GeneratedProtocolMessageType('ImageParameters', (_message.Message,), { 'DESCRIPTOR' : _IMAGEPARAMETERS, '__module__' : 'generation_pb2' @@ -426,42 +461,46 @@ 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=6413 - _FINISHREASON._serialized_end=6482 - _ARTIFACTTYPE._serialized_start=6485 - _ARTIFACTTYPE._serialized_end=6733 - _MASKEDAREAINIT._serialized_start=6735 - _MASKEDAREAINIT._serialized_end=6838 - _WEIGHTMETHOD._serialized_start=6840 - _WEIGHTMETHOD._serialized_end=6893 - _DIFFUSIONSAMPLER._serialized_start=6896 - _DIFFUSIONSAMPLER._serialized_end=7176 - _UPSCALER._serialized_start=7178 - _UPSCALER._serialized_end=7248 - _GUIDANCEPRESET._serialized_start=7251 - _GUIDANCEPRESET._serialized_end=7467 - _MODELARCHITECTURE._serialized_start=7470 - _MODELARCHITECTURE._serialized_end=7615 - _ACTION._serialized_start=7618 - _ACTION._serialized_end=7780 - _CLASSIFIERMODE._serialized_start=7782 - _CLASSIFIERMODE._serialized_end=7850 - _INTERPOLATEMODE._serialized_start=7853 - _INTERPOLATEMODE._serialized_end=7993 - _BORDERMODE._serialized_start=7995 - _BORDERMODE._serialized_end=8103 - _COLORMATCHMODE._serialized_start=8105 - _COLORMATCHMODE._serialized_end=8184 - _CAMERATYPE._serialized_start=8186 - _CAMERATYPE._serialized_end=8247 - _RENDERMODE._serialized_start=8249 - _RENDERMODE._serialized_end=8301 - _ASSETACTION._serialized_start=8303 - _ASSETACTION._serialized_end=8364 - _ASSETUSE._serialized_start=8367 - _ASSETUSE._serialized_end=8496 - _STAGEACTION._serialized_start=8498 - _STAGEACTION._serialized_end=8585 + _FINISHREASON._serialized_start=7016 + _FINISHREASON._serialized_end=7085 + _ARTIFACTTYPE._serialized_start=7088 + _ARTIFACTTYPE._serialized_end=7336 + _MASKEDAREAINIT._serialized_start=7338 + _MASKEDAREAINIT._serialized_end=7441 + _WEIGHTMETHOD._serialized_start=7443 + _WEIGHTMETHOD._serialized_end=7496 + _DIFFUSIONSAMPLER._serialized_start=7499 + _DIFFUSIONSAMPLER._serialized_end=7779 + _UPSCALER._serialized_start=7781 + _UPSCALER._serialized_end=7851 + _GUIDANCEPRESET._serialized_start=7854 + _GUIDANCEPRESET._serialized_end=8070 + _MODELARCHITECTURE._serialized_start=8073 + _MODELARCHITECTURE._serialized_end=8218 + _T2IADAPTER._serialized_start=8220 + _T2IADAPTER._serialized_end=8320 + _T2IADAPTERINIT._serialized_start=8322 + _T2IADAPTERINIT._serialized_end=8398 + _ACTION._serialized_start=8401 + _ACTION._serialized_end=8563 + _CLASSIFIERMODE._serialized_start=8565 + _CLASSIFIERMODE._serialized_end=8633 + _INTERPOLATEMODE._serialized_start=8636 + _INTERPOLATEMODE._serialized_end=8776 + _BORDERMODE._serialized_start=8778 + _BORDERMODE._serialized_end=8886 + _COLORMATCHMODE._serialized_start=8888 + _COLORMATCHMODE._serialized_end=8967 + _CAMERATYPE._serialized_start=8969 + _CAMERATYPE._serialized_end=9030 + _RENDERMODE._serialized_start=9032 + _RENDERMODE._serialized_end=9084 + _ASSETACTION._serialized_start=9086 + _ASSETACTION._serialized_end=9147 + _ASSETUSE._serialized_start=9150 + _ASSETUSE._serialized_end=9279 + _STAGEACTION._serialized_start=9281 + _STAGEACTION._serialized_end=9368 _TOKEN._serialized_start=74 _TOKEN._serialized_end=121 _TOKENS._serialized_start=123 @@ -492,46 +531,54 @@ _GUIDANCEPARAMETERS._serialized_end=2484 _TRANSFORMTYPE._serialized_start=2486 _TRANSFORMTYPE._serialized_end=2596 - _IMAGEPARAMETERS._serialized_start=2599 - _IMAGEPARAMETERS._serialized_end=3044 - _CLASSIFIERCONCEPT._serialized_start=3046 - _CLASSIFIERCONCEPT._serialized_end=3120 - _CLASSIFIERCATEGORY._serialized_start=3123 - _CLASSIFIERCATEGORY._serialized_end=3367 - _CLASSIFIERPARAMETERS._serialized_start=3370 - _CLASSIFIERPARAMETERS._serialized_end=3554 - _INTERPOLATEPARAMETERS._serialized_start=3556 - _INTERPOLATEPARAMETERS._serialized_end=3649 - _TRANSFORMCOLORADJUST._serialized_start=3652 - _TRANSFORMCOLORADJUST._serialized_end=4064 - _TRANSFORMDEPTHCALC._serialized_start=4067 - _TRANSFORMDEPTHCALC._serialized_end=4207 - _TRANSFORMMATRIX._serialized_start=4209 - _TRANSFORMMATRIX._serialized_end=4244 - _TRANSFORMRESAMPLE._serialized_start=4247 - _TRANSFORMRESAMPLE._serialized_end=4509 - _CAMERAPARAMETERS._serialized_start=4511 - _CAMERAPARAMETERS._serialized_end=4636 - _TRANSFORMCAMERAPOSE._serialized_start=4639 - _TRANSFORMCAMERAPOSE._serialized_end=4856 - _TRANSFORMPARAMETERS._serialized_start=4859 - _TRANSFORMPARAMETERS._serialized_end=5100 - _ASSETPARAMETERS._serialized_start=5102 - _ASSETPARAMETERS._serialized_end=5209 - _ANSWERMETA._serialized_start=5212 - _ANSWERMETA._serialized_end=5360 - _ANSWER._serialized_start=5363 - _ANSWER._serialized_end=5532 - _ANSWERBATCH._serialized_start=5534 - _ANSWERBATCH._serialized_end=5599 - _REQUEST._serialized_start=5602 - _REQUEST._serialized_end=6129 - _ONSTATUS._serialized_start=6131 - _ONSTATUS._serialized_end=6250 - _STAGE._serialized_start=6252 - _STAGE._serialized_end=6344 - _CHAINREQUEST._serialized_start=6346 - _CHAINREQUEST._serialized_end=6411 - _GENERATIONSERVICE._serialized_start=8588 - _GENERATIONSERVICE._serialized_end=8719 + _T2IADAPTERPARAMETER._serialized_start=2599 + _T2IADAPTERPARAMETER._serialized_end=2741 + _CAIPARAMETERS._serialized_start=2744 + _CAIPARAMETERS._serialized_end=2926 + _CAIPARAMETERS_MODELMETADATA._serialized_start=2825 + _CAIPARAMETERS_MODELMETADATA._serialized_end=2912 + _FINETUNINGPARAMETERS._serialized_start=2928 + _FINETUNINGPARAMETERS._serialized_end=3000 + _IMAGEPARAMETERS._serialized_start=3003 + _IMAGEPARAMETERS._serialized_end=3647 + _CLASSIFIERCONCEPT._serialized_start=3649 + _CLASSIFIERCONCEPT._serialized_end=3723 + _CLASSIFIERCATEGORY._serialized_start=3726 + _CLASSIFIERCATEGORY._serialized_end=3970 + _CLASSIFIERPARAMETERS._serialized_start=3973 + _CLASSIFIERPARAMETERS._serialized_end=4157 + _INTERPOLATEPARAMETERS._serialized_start=4159 + _INTERPOLATEPARAMETERS._serialized_end=4252 + _TRANSFORMCOLORADJUST._serialized_start=4255 + _TRANSFORMCOLORADJUST._serialized_end=4667 + _TRANSFORMDEPTHCALC._serialized_start=4670 + _TRANSFORMDEPTHCALC._serialized_end=4810 + _TRANSFORMMATRIX._serialized_start=4812 + _TRANSFORMMATRIX._serialized_end=4847 + _TRANSFORMRESAMPLE._serialized_start=4850 + _TRANSFORMRESAMPLE._serialized_end=5112 + _CAMERAPARAMETERS._serialized_start=5114 + _CAMERAPARAMETERS._serialized_end=5239 + _TRANSFORMCAMERAPOSE._serialized_start=5242 + _TRANSFORMCAMERAPOSE._serialized_end=5459 + _TRANSFORMPARAMETERS._serialized_start=5462 + _TRANSFORMPARAMETERS._serialized_end=5703 + _ASSETPARAMETERS._serialized_start=5705 + _ASSETPARAMETERS._serialized_end=5812 + _ANSWERMETA._serialized_start=5815 + _ANSWERMETA._serialized_end=5963 + _ANSWER._serialized_start=5966 + _ANSWER._serialized_end=6135 + _ANSWERBATCH._serialized_start=6137 + _ANSWERBATCH._serialized_end=6202 + _REQUEST._serialized_start=6205 + _REQUEST._serialized_end=6732 + _ONSTATUS._serialized_start=6734 + _ONSTATUS._serialized_end=6853 + _STAGE._serialized_start=6855 + _STAGE._serialized_end=6947 + _CHAINREQUEST._serialized_start=6949 + _CHAINREQUEST._serialized_end=7014 + _GENERATIONSERVICE._serialized_start=9371 + _GENERATIONSERVICE._serialized_end=9502 # @@protoc_insertion_point(module_scope) diff --git a/gooseai/generation/tensors_pb.d.ts b/gooseai/generation/tensors_pb.d.ts old mode 100644 new mode 100755 diff --git a/gooseai/generation/tensors_pb.js b/gooseai/generation/tensors_pb.js old mode 100644 new mode 100755 diff --git a/gooseai/generation/tensors_pb2.py b/gooseai/generation/tensors_pb2.py old mode 100644 new mode 100755 diff --git a/gooseai/go.mod b/gooseai/go.mod index 3044a3b..82841d3 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-20230324010935-029982083a12 - google.golang.org/grpc v1.54.0 - google.golang.org/protobuf v1.30.0 + github.com/coreweave/tensorizer/tensors v0.0.0-20230607211656-2e129b0d4161 + google.golang.org/grpc v1.56.1 + google.golang.org/protobuf v1.31.0 ) require ( - github.com/golang/protobuf v1.5.2 // 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 + github.com/golang/protobuf v1.5.3 // indirect + golang.org/x/net v0.9.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect ) diff --git a/gooseai/go.sum b/gooseai/go.sum index c3d36f0..4c148b8 100644 --- a/gooseai/go.sum +++ b/gooseai/go.sum @@ -1,22 +1,22 @@ -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/coreweave/tensorizer/tensors v0.0.0-20230607211656-2e129b0d4161 h1:wbzmfUO3aCFnaFdiaAPr1+jj/fuzLqmpj0Yl5E5k19Q= +github.com/coreweave/tensorizer/tensors v0.0.0-20230607211656-2e129b0d4161/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/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/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.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/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.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.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= 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.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= diff --git a/gooseai/project/project.pb.go b/gooseai/project/project.pb.go index d2e706f..9780bf2 100644 --- a/gooseai/project/project.pb.go +++ b/gooseai/project/project.pb.go @@ -220,6 +220,53 @@ func (ProjectSortDir) EnumDescriptor() ([]byte, []int) { return file_project_proto_rawDescGZIP(), []int{3} } +// The Type of Project being created +type ProjectType int32 + +const ( + ProjectType_PROJECT_TYPE_UNSPECIFIED ProjectType = 0 // Zero-value, unspecified + ProjectType_PROJECT_TYPE_TRAINING ProjectType = 1 // Training project, used for Fine-Tuning models +) + +// Enum value maps for ProjectType. +var ( + ProjectType_name = map[int32]string{ + 0: "PROJECT_TYPE_UNSPECIFIED", + 1: "PROJECT_TYPE_TRAINING", + } + ProjectType_value = map[string]int32{ + "PROJECT_TYPE_UNSPECIFIED": 0, + "PROJECT_TYPE_TRAINING": 1, + } +) + +func (x ProjectType) Enum() *ProjectType { + p := new(ProjectType) + *p = x + return p +} + +func (x ProjectType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ProjectType) Descriptor() protoreflect.EnumDescriptor { + return file_project_proto_enumTypes[4].Descriptor() +} + +func (ProjectType) Type() protoreflect.EnumType { + return &file_project_proto_enumTypes[4] +} + +func (x ProjectType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ProjectType.Descriptor instead. +func (ProjectType) EnumDescriptor() ([]byte, []int) { + return file_project_proto_rawDescGZIP(), []int{4} +} + type ProjectAsset struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -346,6 +393,7 @@ type Project struct { CreatedAt uint64 `protobuf:"varint,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // Time of project creation (UTC seconds epoch) UpdatedAt uint64 `protobuf:"varint,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` // Time of last project update (UTC seconds epoch) Assets []*ProjectAsset `protobuf:"bytes,10,rep,name=assets,proto3" json:"assets,omitempty"` // The listing of all assets associated with the project + Type ProjectType `protobuf:"varint,11,opt,name=type,proto3,enum=gooseai.ProjectType" json:"type,omitempty"` // The type of project } func (x *Project) Reset() { @@ -450,6 +498,13 @@ func (x *Project) GetAssets() []*ProjectAsset { return nil } +func (x *Project) GetType() ProjectType { + if x != nil { + return x.Type + } + return ProjectType_PROJECT_TYPE_UNSPECIFIED +} + type CreateProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -460,6 +515,7 @@ type CreateProjectRequest struct { Access ProjectAccess `protobuf:"varint,3,opt,name=access,proto3,enum=gooseai.ProjectAccess" json:"access,omitempty"` // The access of the project (such as public vs private) Status ProjectStatus `protobuf:"varint,4,opt,name=status,proto3,enum=gooseai.ProjectStatus" json:"status,omitempty"` // The status of the project (such as active vs inactive) File *ProjectAsset `protobuf:"bytes,5,opt,name=file,proto3,oneof" json:"file,omitempty"` // Project file for the project (if existing, else will create) + Type ProjectType `protobuf:"varint,6,opt,name=type,proto3,enum=gooseai.ProjectType" json:"type,omitempty"` // The type of project } func (x *CreateProjectRequest) Reset() { @@ -529,6 +585,13 @@ func (x *CreateProjectRequest) GetFile() *ProjectAsset { return nil } +func (x *CreateProjectRequest) GetType() ProjectType { + if x != nil { + return x.Type + } + return ProjectType_PROJECT_TYPE_UNSPECIFIED +} + type UpdateProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -540,6 +603,7 @@ type UpdateProjectRequest struct { Access *ProjectAccess `protobuf:"varint,4,opt,name=access,proto3,enum=gooseai.ProjectAccess,oneof" json:"access,omitempty"` // The access of the project (such as public vs private) Status *ProjectStatus `protobuf:"varint,5,opt,name=status,proto3,enum=gooseai.ProjectStatus,oneof" json:"status,omitempty"` // The status of the project (such as active vs inactive) File *ProjectAsset `protobuf:"bytes,6,opt,name=file,proto3,oneof" json:"file,omitempty"` // Project file for the project + Type *ProjectType `protobuf:"varint,7,opt,name=type,proto3,enum=gooseai.ProjectType,oneof" json:"type,omitempty"` // The type of project } func (x *UpdateProjectRequest) Reset() { @@ -616,6 +680,13 @@ func (x *UpdateProjectRequest) GetFile() *ProjectAsset { return nil } +func (x *UpdateProjectRequest) GetType() ProjectType { + if x != nil && x.Type != nil { + return *x.Type + } + return ProjectType_PROJECT_TYPE_UNSPECIFIED +} + type ListProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1360,7 +1431,7 @@ var file_project_proto_rawDesc = []byte{ 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd6, 0x02, 0x0a, 0x07, 0x50, 0x72, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x80, 0x03, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, @@ -1382,210 +1453,224 @@ var file_project_proto_rawDesc = []byte{ 0x64, 0x41, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x48, 0x01, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x06, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x74, 0x73, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9c, 0x02, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x06, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x48, 0x02, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x66, 0x69, - 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x41, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x50, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x22, 0x53, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0xc4, 0x03, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, - 0x73, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x05, 0x73, - 0x69, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x75, 0x6e, 0x74, 0x69, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x05, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x04, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x2a, 0x0a, 0x03, 0x75, 0x73, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x73, - 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, - 0x39, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, - 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, - 0x6e, 0x74, 0x69, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x71, 0x0a, 0x13, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, - 0xde, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x65, 0x73, 0x73, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x66, + 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x48, 0x01, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xe9, 0x02, 0x0a, 0x14, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x37, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, - 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x22, 0x5b, 0x0a, 0x11, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x89, 0x01, - 0x0a, 0x12, 0x55, 0x6e, 0x74, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x33, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x02, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x03, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x48, 0x04, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x05, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x41, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x53, 0x0a, 0x14, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x13, 0x55, 0x6e, 0x74, - 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x22, 0xc4, 0x03, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x69, 0x6e, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x05, 0x73, 0x69, 0x6e, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x02, 0x52, 0x05, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x03, 0x75, + 0x73, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x44, + 0x69, 0x72, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x39, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x71, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2d, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x1e, + 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xde, 0x01, 0x0a, 0x10, + 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x14, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x37, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x5b, 0x0a, 0x11, + 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x2a, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x49, - 0x56, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, - 0x01, 0x2a, 0x63, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, - 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xb0, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, - 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x55, - 0x54, 0x50, 0x55, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 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, 0x1d, 0x0a, 0x19, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, - 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x67, 0x0a, 0x0e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, - 0x14, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, - 0x52, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x43, - 0x10, 0x02, 0x32, 0xe6, 0x04, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x55, 0x6e, + 0x74, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x61, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x13, 0x55, 0x6e, 0x74, 0x61, 0x67, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x2a, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, + 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x2a, 0x63, 0x0a, + 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, + 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, + 0x10, 0x02, 0x2a, 0xb0, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x50, + 0x55, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, + 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 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, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x67, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x41, 0x53, + 0x43, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x4f, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x46, + 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x49, + 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x32, 0xe6, 0x04, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x35, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, - 0x39, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x35, 0x0a, 0x03, 0x47, 0x65, - 0x74, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, - 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, - 0x73, 0x65, 0x61, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, 0x44, - 0x0a, 0x09, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, - 0x2e, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x55, 0x6e, 0x74, 0x61, 0x67, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x6e, - 0x74, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x6e, 0x74, 0x61, 0x67, + 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x55, 0x6e, 0x74, 0x61, + 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x55, 0x6e, 0x74, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, + 0x6e, 0x74, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4a, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x38, 0x5a, 0x36, 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, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x4d, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, + 0x38, 0x5a, 0x36, 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, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1600,75 +1685,79 @@ func file_project_proto_rawDescGZIP() []byte { return file_project_proto_rawDescData } -var file_project_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_project_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_project_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_project_proto_goTypes = []interface{}{ (ProjectAccess)(0), // 0: gooseai.ProjectAccess (ProjectStatus)(0), // 1: gooseai.ProjectStatus (ProjectAssetUse)(0), // 2: gooseai.ProjectAssetUse (ProjectSortDir)(0), // 3: gooseai.ProjectSortDir - (*ProjectAsset)(nil), // 4: gooseai.ProjectAsset - (*Project)(nil), // 5: gooseai.Project - (*CreateProjectRequest)(nil), // 6: gooseai.CreateProjectRequest - (*UpdateProjectRequest)(nil), // 7: gooseai.UpdateProjectRequest - (*ListProjectRequest)(nil), // 8: gooseai.ListProjectRequest - (*GetProjectRequest)(nil), // 9: gooseai.GetProjectRequest - (*DeleteProjectRequest)(nil), // 10: gooseai.DeleteProjectRequest - (*QueryAssetsRequest)(nil), // 11: gooseai.QueryAssetsRequest - (*QueryAssetsResponse)(nil), // 12: gooseai.QueryAssetsResponse - (*TagAssetsRequest)(nil), // 13: gooseai.TagAssetsRequest - (*TagAssetsResponse)(nil), // 14: gooseai.TagAssetsResponse - (*UntagAssetsRequest)(nil), // 15: gooseai.UntagAssetsRequest - (*UntagAssetsResponse)(nil), // 16: gooseai.UntagAssetsResponse - (*DeleteAssetsRequest)(nil), // 17: gooseai.DeleteAssetsRequest - (*DeleteAssetsResponse)(nil), // 18: gooseai.DeleteAssetsResponse - nil, // 19: gooseai.ProjectAsset.TagsEntry - nil, // 20: gooseai.QueryAssetsRequest.TagsEntry - nil, // 21: gooseai.TagAssetsRequest.TagsEntry - (*generation.Request)(nil), // 22: gooseai.Request + (ProjectType)(0), // 4: gooseai.ProjectType + (*ProjectAsset)(nil), // 5: gooseai.ProjectAsset + (*Project)(nil), // 6: gooseai.Project + (*CreateProjectRequest)(nil), // 7: gooseai.CreateProjectRequest + (*UpdateProjectRequest)(nil), // 8: gooseai.UpdateProjectRequest + (*ListProjectRequest)(nil), // 9: gooseai.ListProjectRequest + (*GetProjectRequest)(nil), // 10: gooseai.GetProjectRequest + (*DeleteProjectRequest)(nil), // 11: gooseai.DeleteProjectRequest + (*QueryAssetsRequest)(nil), // 12: gooseai.QueryAssetsRequest + (*QueryAssetsResponse)(nil), // 13: gooseai.QueryAssetsResponse + (*TagAssetsRequest)(nil), // 14: gooseai.TagAssetsRequest + (*TagAssetsResponse)(nil), // 15: gooseai.TagAssetsResponse + (*UntagAssetsRequest)(nil), // 16: gooseai.UntagAssetsRequest + (*UntagAssetsResponse)(nil), // 17: gooseai.UntagAssetsResponse + (*DeleteAssetsRequest)(nil), // 18: gooseai.DeleteAssetsRequest + (*DeleteAssetsResponse)(nil), // 19: gooseai.DeleteAssetsResponse + nil, // 20: gooseai.ProjectAsset.TagsEntry + nil, // 21: gooseai.QueryAssetsRequest.TagsEntry + nil, // 22: gooseai.TagAssetsRequest.TagsEntry + (*generation.Request)(nil), // 23: gooseai.Request } var file_project_proto_depIdxs = []int32{ 2, // 0: gooseai.ProjectAsset.use:type_name -> gooseai.ProjectAssetUse - 22, // 1: gooseai.ProjectAsset.request:type_name -> gooseai.Request - 19, // 2: gooseai.ProjectAsset.tags:type_name -> gooseai.ProjectAsset.TagsEntry + 23, // 1: gooseai.ProjectAsset.request:type_name -> gooseai.Request + 20, // 2: gooseai.ProjectAsset.tags:type_name -> gooseai.ProjectAsset.TagsEntry 0, // 3: gooseai.Project.access:type_name -> gooseai.ProjectAccess 1, // 4: gooseai.Project.status:type_name -> gooseai.ProjectStatus - 4, // 5: gooseai.Project.file:type_name -> gooseai.ProjectAsset - 4, // 6: gooseai.Project.assets:type_name -> gooseai.ProjectAsset - 0, // 7: gooseai.CreateProjectRequest.access:type_name -> gooseai.ProjectAccess - 1, // 8: gooseai.CreateProjectRequest.status:type_name -> gooseai.ProjectStatus - 4, // 9: gooseai.CreateProjectRequest.file:type_name -> gooseai.ProjectAsset - 0, // 10: gooseai.UpdateProjectRequest.access:type_name -> gooseai.ProjectAccess - 1, // 11: gooseai.UpdateProjectRequest.status:type_name -> gooseai.ProjectStatus - 4, // 12: gooseai.UpdateProjectRequest.file:type_name -> gooseai.ProjectAsset - 2, // 13: gooseai.QueryAssetsRequest.use:type_name -> gooseai.ProjectAssetUse - 3, // 14: gooseai.QueryAssetsRequest.sort_dir:type_name -> gooseai.ProjectSortDir - 20, // 15: gooseai.QueryAssetsRequest.tags:type_name -> gooseai.QueryAssetsRequest.TagsEntry - 4, // 16: gooseai.QueryAssetsResponse.assets:type_name -> gooseai.ProjectAsset - 21, // 17: gooseai.TagAssetsRequest.tags:type_name -> gooseai.TagAssetsRequest.TagsEntry - 6, // 18: gooseai.ProjectService.Create:input_type -> gooseai.CreateProjectRequest - 7, // 19: gooseai.ProjectService.Update:input_type -> gooseai.UpdateProjectRequest - 8, // 20: gooseai.ProjectService.List:input_type -> gooseai.ListProjectRequest - 9, // 21: gooseai.ProjectService.Get:input_type -> gooseai.GetProjectRequest - 10, // 22: gooseai.ProjectService.Delete:input_type -> gooseai.DeleteProjectRequest - 13, // 23: gooseai.ProjectService.TagAssets:input_type -> gooseai.TagAssetsRequest - 15, // 24: gooseai.ProjectService.UntagAssets:input_type -> gooseai.UntagAssetsRequest - 11, // 25: gooseai.ProjectService.QueryAssets:input_type -> gooseai.QueryAssetsRequest - 17, // 26: gooseai.ProjectService.DeleteAssets:input_type -> gooseai.DeleteAssetsRequest - 5, // 27: gooseai.ProjectService.Create:output_type -> gooseai.Project - 5, // 28: gooseai.ProjectService.Update:output_type -> gooseai.Project - 5, // 29: gooseai.ProjectService.List:output_type -> gooseai.Project - 5, // 30: gooseai.ProjectService.Get:output_type -> gooseai.Project - 5, // 31: gooseai.ProjectService.Delete:output_type -> gooseai.Project - 14, // 32: gooseai.ProjectService.TagAssets:output_type -> gooseai.TagAssetsResponse - 16, // 33: gooseai.ProjectService.UntagAssets:output_type -> gooseai.UntagAssetsResponse - 12, // 34: gooseai.ProjectService.QueryAssets:output_type -> gooseai.QueryAssetsResponse - 18, // 35: gooseai.ProjectService.DeleteAssets:output_type -> gooseai.DeleteAssetsResponse - 27, // [27:36] is the sub-list for method output_type - 18, // [18:27] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 5, // 5: gooseai.Project.file:type_name -> gooseai.ProjectAsset + 5, // 6: gooseai.Project.assets:type_name -> gooseai.ProjectAsset + 4, // 7: gooseai.Project.type:type_name -> gooseai.ProjectType + 0, // 8: gooseai.CreateProjectRequest.access:type_name -> gooseai.ProjectAccess + 1, // 9: gooseai.CreateProjectRequest.status:type_name -> gooseai.ProjectStatus + 5, // 10: gooseai.CreateProjectRequest.file:type_name -> gooseai.ProjectAsset + 4, // 11: gooseai.CreateProjectRequest.type:type_name -> gooseai.ProjectType + 0, // 12: gooseai.UpdateProjectRequest.access:type_name -> gooseai.ProjectAccess + 1, // 13: gooseai.UpdateProjectRequest.status:type_name -> gooseai.ProjectStatus + 5, // 14: gooseai.UpdateProjectRequest.file:type_name -> gooseai.ProjectAsset + 4, // 15: gooseai.UpdateProjectRequest.type:type_name -> gooseai.ProjectType + 2, // 16: gooseai.QueryAssetsRequest.use:type_name -> gooseai.ProjectAssetUse + 3, // 17: gooseai.QueryAssetsRequest.sort_dir:type_name -> gooseai.ProjectSortDir + 21, // 18: gooseai.QueryAssetsRequest.tags:type_name -> gooseai.QueryAssetsRequest.TagsEntry + 5, // 19: gooseai.QueryAssetsResponse.assets:type_name -> gooseai.ProjectAsset + 22, // 20: gooseai.TagAssetsRequest.tags:type_name -> gooseai.TagAssetsRequest.TagsEntry + 7, // 21: gooseai.ProjectService.Create:input_type -> gooseai.CreateProjectRequest + 8, // 22: gooseai.ProjectService.Update:input_type -> gooseai.UpdateProjectRequest + 9, // 23: gooseai.ProjectService.List:input_type -> gooseai.ListProjectRequest + 10, // 24: gooseai.ProjectService.Get:input_type -> gooseai.GetProjectRequest + 11, // 25: gooseai.ProjectService.Delete:input_type -> gooseai.DeleteProjectRequest + 14, // 26: gooseai.ProjectService.TagAssets:input_type -> gooseai.TagAssetsRequest + 16, // 27: gooseai.ProjectService.UntagAssets:input_type -> gooseai.UntagAssetsRequest + 12, // 28: gooseai.ProjectService.QueryAssets:input_type -> gooseai.QueryAssetsRequest + 18, // 29: gooseai.ProjectService.DeleteAssets:input_type -> gooseai.DeleteAssetsRequest + 6, // 30: gooseai.ProjectService.Create:output_type -> gooseai.Project + 6, // 31: gooseai.ProjectService.Update:output_type -> gooseai.Project + 6, // 32: gooseai.ProjectService.List:output_type -> gooseai.Project + 6, // 33: gooseai.ProjectService.Get:output_type -> gooseai.Project + 6, // 34: gooseai.ProjectService.Delete:output_type -> gooseai.Project + 15, // 35: gooseai.ProjectService.TagAssets:output_type -> gooseai.TagAssetsResponse + 17, // 36: gooseai.ProjectService.UntagAssets:output_type -> gooseai.UntagAssetsResponse + 13, // 37: gooseai.ProjectService.QueryAssets:output_type -> gooseai.QueryAssetsResponse + 19, // 38: gooseai.ProjectService.DeleteAssets:output_type -> gooseai.DeleteAssetsResponse + 30, // [30:39] is the sub-list for method output_type + 21, // [21:30] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_project_proto_init() } @@ -1873,7 +1962,7 @@ func file_project_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_project_proto_rawDesc, - NumEnums: 4, + NumEnums: 5, NumMessages: 18, NumExtensions: 0, NumServices: 1, diff --git a/gooseai/project/project_pb.d.ts b/gooseai/project/project_pb.d.ts index a7b4931..5c9063f 100644 --- a/gooseai/project/project_pb.d.ts +++ b/gooseai/project/project_pb.d.ts @@ -92,6 +92,9 @@ export class Project extends jspb.Message { setAssetsList(value: Array): void; addAssets(value?: ProjectAsset, index?: number): ProjectAsset; + getType(): ProjectTypeMap[keyof ProjectTypeMap]; + setType(value: ProjectTypeMap[keyof ProjectTypeMap]): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Project.AsObject; static toObject(includeInstance: boolean, msg: Project): Project.AsObject; @@ -114,6 +117,7 @@ export namespace Project { createdAt: number, updatedAt: number, assetsList: Array, + type: ProjectTypeMap[keyof ProjectTypeMap], } } @@ -137,6 +141,9 @@ export class CreateProjectRequest extends jspb.Message { getFile(): ProjectAsset | undefined; setFile(value?: ProjectAsset): void; + getType(): ProjectTypeMap[keyof ProjectTypeMap]; + setType(value: ProjectTypeMap[keyof ProjectTypeMap]): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): CreateProjectRequest.AsObject; static toObject(includeInstance: boolean, msg: CreateProjectRequest): CreateProjectRequest.AsObject; @@ -154,6 +161,7 @@ export namespace CreateProjectRequest { access: ProjectAccessMap[keyof ProjectAccessMap], status: ProjectStatusMap[keyof ProjectStatusMap], file?: ProjectAsset.AsObject, + type: ProjectTypeMap[keyof ProjectTypeMap], } } @@ -186,6 +194,11 @@ export class UpdateProjectRequest extends jspb.Message { getFile(): ProjectAsset | undefined; setFile(value?: ProjectAsset): void; + hasType(): boolean; + clearType(): void; + getType(): ProjectTypeMap[keyof ProjectTypeMap]; + setType(value: ProjectTypeMap[keyof ProjectTypeMap]): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UpdateProjectRequest.AsObject; static toObject(includeInstance: boolean, msg: UpdateProjectRequest): UpdateProjectRequest.AsObject; @@ -204,6 +217,7 @@ export namespace UpdateProjectRequest { access: ProjectAccessMap[keyof ProjectAccessMap], status: ProjectStatusMap[keyof ProjectStatusMap], file?: ProjectAsset.AsObject, + type: ProjectTypeMap[keyof ProjectTypeMap], } } @@ -600,3 +614,10 @@ export interface ProjectSortDirMap { export const ProjectSortDir: ProjectSortDirMap; +export interface ProjectTypeMap { + PROJECT_TYPE_UNSPECIFIED: 0; + PROJECT_TYPE_TRAINING: 1; +} + +export const ProjectType: ProjectTypeMap; + diff --git a/gooseai/project/project_pb.js b/gooseai/project/project_pb.js index dd32c66..b37f9b1 100644 --- a/gooseai/project/project_pb.js +++ b/gooseai/project/project_pb.js @@ -35,6 +35,7 @@ goog.exportSymbol('proto.gooseai.ProjectAsset', null, global); goog.exportSymbol('proto.gooseai.ProjectAssetUse', null, global); goog.exportSymbol('proto.gooseai.ProjectSortDir', null, global); goog.exportSymbol('proto.gooseai.ProjectStatus', null, global); +goog.exportSymbol('proto.gooseai.ProjectType', null, global); goog.exportSymbol('proto.gooseai.QueryAssetsRequest', null, global); goog.exportSymbol('proto.gooseai.QueryAssetsResponse', null, global); goog.exportSymbol('proto.gooseai.TagAssetsRequest', null, global); @@ -800,7 +801,8 @@ proto.gooseai.Project.toObject = function(includeInstance, msg) { createdAt: jspb.Message.getFieldWithDefault(msg, 8, 0), updatedAt: jspb.Message.getFieldWithDefault(msg, 9, 0), assetsList: jspb.Message.toObjectList(msg.getAssetsList(), - proto.gooseai.ProjectAsset.toObject, includeInstance) + proto.gooseai.ProjectAsset.toObject, includeInstance), + type: jspb.Message.getFieldWithDefault(msg, 11, 0) }; if (includeInstance) { @@ -879,6 +881,10 @@ proto.gooseai.Project.deserializeBinaryFromReader = function(msg, reader) { reader.readMessage(value,proto.gooseai.ProjectAsset.deserializeBinaryFromReader); msg.addAssets(value); break; + case 11: + var value = /** @type {!proto.gooseai.ProjectType} */ (reader.readEnum()); + msg.setType(value); + break; default: reader.skipField(); break; @@ -980,6 +986,13 @@ proto.gooseai.Project.serializeBinaryToWriter = function(message, writer) { proto.gooseai.ProjectAsset.serializeBinaryToWriter ); } + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( + 11, + f + ); + } }; @@ -1202,6 +1215,24 @@ proto.gooseai.Project.prototype.clearAssetsList = function() { }; +/** + * optional ProjectType type = 11; + * @return {!proto.gooseai.ProjectType} + */ +proto.gooseai.Project.prototype.getType = function() { + return /** @type {!proto.gooseai.ProjectType} */ (jspb.Message.getFieldWithDefault(this, 11, 0)); +}; + + +/** + * @param {!proto.gooseai.ProjectType} value + * @return {!proto.gooseai.Project} returns this + */ +proto.gooseai.Project.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 11, value); +}; + + @@ -1238,7 +1269,8 @@ proto.gooseai.CreateProjectRequest.toObject = function(includeInstance, msg) { ownerId: jspb.Message.getFieldWithDefault(msg, 2, ""), access: jspb.Message.getFieldWithDefault(msg, 3, 0), status: jspb.Message.getFieldWithDefault(msg, 4, 0), - file: (f = msg.getFile()) && proto.gooseai.ProjectAsset.toObject(includeInstance, f) + file: (f = msg.getFile()) && proto.gooseai.ProjectAsset.toObject(includeInstance, f), + type: jspb.Message.getFieldWithDefault(msg, 6, 0) }; if (includeInstance) { @@ -1296,6 +1328,10 @@ proto.gooseai.CreateProjectRequest.deserializeBinaryFromReader = function(msg, r reader.readMessage(value,proto.gooseai.ProjectAsset.deserializeBinaryFromReader); msg.setFile(value); break; + case 6: + var value = /** @type {!proto.gooseai.ProjectType} */ (reader.readEnum()); + msg.setType(value); + break; default: reader.skipField(); break; @@ -1361,6 +1397,13 @@ proto.gooseai.CreateProjectRequest.serializeBinaryToWriter = function(message, w proto.gooseai.ProjectAsset.serializeBinaryToWriter ); } + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( + 6, + f + ); + } }; @@ -1491,6 +1534,24 @@ proto.gooseai.CreateProjectRequest.prototype.hasFile = function() { }; +/** + * optional ProjectType type = 6; + * @return {!proto.gooseai.ProjectType} + */ +proto.gooseai.CreateProjectRequest.prototype.getType = function() { + return /** @type {!proto.gooseai.ProjectType} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** + * @param {!proto.gooseai.ProjectType} value + * @return {!proto.gooseai.CreateProjectRequest} returns this + */ +proto.gooseai.CreateProjectRequest.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 6, value); +}; + + @@ -1528,7 +1589,8 @@ proto.gooseai.UpdateProjectRequest.toObject = function(includeInstance, msg) { title: jspb.Message.getFieldWithDefault(msg, 3, ""), access: jspb.Message.getFieldWithDefault(msg, 4, 0), status: jspb.Message.getFieldWithDefault(msg, 5, 0), - file: (f = msg.getFile()) && proto.gooseai.ProjectAsset.toObject(includeInstance, f) + file: (f = msg.getFile()) && proto.gooseai.ProjectAsset.toObject(includeInstance, f), + type: jspb.Message.getFieldWithDefault(msg, 7, 0) }; if (includeInstance) { @@ -1590,6 +1652,10 @@ proto.gooseai.UpdateProjectRequest.deserializeBinaryFromReader = function(msg, r reader.readMessage(value,proto.gooseai.ProjectAsset.deserializeBinaryFromReader); msg.setFile(value); break; + case 7: + var value = /** @type {!proto.gooseai.ProjectType} */ (reader.readEnum()); + msg.setType(value); + break; default: reader.skipField(); break; @@ -1662,6 +1728,13 @@ proto.gooseai.UpdateProjectRequest.serializeBinaryToWriter = function(message, w proto.gooseai.ProjectAsset.serializeBinaryToWriter ); } + f = /** @type {!proto.gooseai.ProjectType} */ (jspb.Message.getField(message, 7)); + if (f != null) { + writer.writeEnum( + 7, + f + ); + } }; @@ -1864,6 +1937,42 @@ proto.gooseai.UpdateProjectRequest.prototype.hasFile = function() { }; +/** + * optional ProjectType type = 7; + * @return {!proto.gooseai.ProjectType} + */ +proto.gooseai.UpdateProjectRequest.prototype.getType = function() { + return /** @type {!proto.gooseai.ProjectType} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); +}; + + +/** + * @param {!proto.gooseai.ProjectType} value + * @return {!proto.gooseai.UpdateProjectRequest} returns this + */ +proto.gooseai.UpdateProjectRequest.prototype.setType = function(value) { + return jspb.Message.setField(this, 7, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.UpdateProjectRequest} returns this + */ +proto.gooseai.UpdateProjectRequest.prototype.clearType = function() { + return jspb.Message.setField(this, 7, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateProjectRequest.prototype.hasType = function() { + return jspb.Message.getField(this, 7) != null; +}; + + @@ -4536,4 +4645,12 @@ proto.gooseai.ProjectSortDir = { PROJECT_SORT_DIR_DESC: 2 }; +/** + * @enum {number} + */ +proto.gooseai.ProjectType = { + PROJECT_TYPE_UNSPECIFIED: 0, + PROJECT_TYPE_TRAINING: 1 +}; + goog.object.extend(exports, proto.gooseai); diff --git a/gooseai/project/project_pb2.py b/gooseai/project/project_pb2.py index b151fe1..4b2d0a2 100644 --- a/gooseai/project/project_pb2.py +++ b/gooseai/project/project_pb2.py @@ -16,7 +16,7 @@ import generation_pb2 as generation__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rproject.proto\x12\x07gooseai\x1a\x10generation.proto\"\x91\x02\n\x0cProjectAsset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12%\n\x03use\x18\x03 \x01(\x0e\x32\x18.gooseai.ProjectAssetUse\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04size\x18\x05 \x01(\x04\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12\x12\n\nupdated_at\x18\x07 \x01(\x04\x12!\n\x07request\x18\x08 \x01(\x0b\x32\x10.gooseai.Request\x12-\n\x04tags\x18\t \x03(\x0b\x32\x1f.gooseai.ProjectAsset.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x07Project\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x10\n\x08owner_id\x18\x03 \x01(\t\x12&\n\x06\x61\x63\x63\x65ss\x18\x04 \x01(\x0e\x32\x16.gooseai.ProjectAccess\x12&\n\x06status\x18\x05 \x01(\x0e\x32\x16.gooseai.ProjectStatus\x12\x0c\n\x04size\x18\x06 \x01(\x04\x12#\n\x04\x66ile\x18\x07 \x01(\x0b\x32\x15.gooseai.ProjectAsset\x12\x12\n\ncreated_at\x18\x08 \x01(\x04\x12\x12\n\nupdated_at\x18\t \x01(\x04\x12%\n\x06\x61ssets\x18\n \x03(\x0b\x32\x15.gooseai.ProjectAsset\"\xcc\x01\n\x14\x43reateProjectRequest\x12\r\n\x05title\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x06\x61\x63\x63\x65ss\x18\x03 \x01(\x0e\x32\x16.gooseai.ProjectAccess\x12&\n\x06status\x18\x04 \x01(\x0e\x32\x16.gooseai.ProjectStatus\x12(\n\x04\x66ile\x18\x05 \x01(\x0b\x32\x15.gooseai.ProjectAssetH\x01\x88\x01\x01\x42\x0b\n\t_owner_idB\x07\n\x05_file\"\x87\x02\n\x14UpdateProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05title\x18\x03 \x01(\tH\x01\x88\x01\x01\x12+\n\x06\x61\x63\x63\x65ss\x18\x04 \x01(\x0e\x32\x16.gooseai.ProjectAccessH\x02\x88\x01\x01\x12+\n\x06status\x18\x05 \x01(\x0e\x32\x16.gooseai.ProjectStatusH\x03\x88\x01\x01\x12(\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x15.gooseai.ProjectAssetH\x04\x88\x01\x01\x42\x0b\n\t_owner_idB\x08\n\x06_titleB\t\n\x07_accessB\t\n\x07_statusB\x07\n\x05_file\"8\n\x12ListProjectRequest\x12\x15\n\x08owner_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_owner_id\"C\n\x11GetProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_owner_id\"F\n\x14\x44\x65leteProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_owner_id\"\xf8\x02\n\x12QueryAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05since\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05until\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x16\n\tstart_key\x18\x06 \x01(\tH\x04\x88\x01\x01\x12%\n\x03use\x18\x07 \x03(\x0e\x32\x18.gooseai.ProjectAssetUse\x12)\n\x08sort_dir\x18\x08 \x01(\x0e\x32\x17.gooseai.ProjectSortDir\x12\x33\n\x04tags\x18\t \x03(\x0b\x32%.gooseai.QueryAssetsRequest.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0b\n\t_owner_idB\x08\n\x06_sinceB\x08\n\x06_untilB\x08\n\x06_limitB\x0c\n\n_start_key\"`\n\x13QueryAssetsResponse\x12%\n\x06\x61ssets\x18\x01 \x03(\x0b\x32\x15.gooseai.ProjectAsset\x12\x15\n\x08last_key\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_last_key\"\xb5\x01\n\x10TagAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tasset_ids\x18\x03 \x03(\t\x12\x31\n\x04tags\x18\x04 \x03(\x0b\x32#.gooseai.TagAssetsRequest.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0b\n\t_owner_id\"D\n\x11TagAssetsResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08owner_id\x18\x02 \x01(\t\x12\x11\n\tasset_ids\x18\x03 \x03(\t\"i\n\x12UntagAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tasset_ids\x18\x03 \x03(\t\x12\x10\n\x08tag_keys\x18\x04 \x03(\tB\x0b\n\t_owner_id\"F\n\x13UntagAssetsResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08owner_id\x18\x02 \x01(\t\x12\x11\n\tasset_ids\x18\x03 \x03(\t\"X\n\x13\x44\x65leteAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tasset_ids\x18\x03 \x03(\tB\x0b\n\t_owner_id\"G\n\x14\x44\x65leteAssetsResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08owner_id\x18\x02 \x01(\t\x12\x11\n\tasset_ids\x18\x03 \x03(\t*F\n\rProjectAccess\x12\x1a\n\x16PROJECT_ACCESS_PRIVATE\x10\x00\x12\x19\n\x15PROJECT_ACCESS_PUBLIC\x10\x01*c\n\rProjectStatus\x12\x1b\n\x17PROJECT_STATUS_INACTIVE\x10\x00\x12\x19\n\x15PROJECT_STATUS_ACTIVE\x10\x01\x12\x1a\n\x16PROJECT_STATUS_DELETED\x10\x02*\xb0\x01\n\x0fProjectAssetUse\x12\x1f\n\x1bPROJECT_ASSET_USE_UNDEFINED\x10\x00\x12\x1b\n\x17PROJECT_ASSET_USE_INPUT\x10\x01\x12\x1c\n\x18PROJECT_ASSET_USE_OUTPUT\x10\x02\x12\"\n\x1ePROJECT_ASSET_USE_INTERMEDIATE\x10\x03\x12\x1d\n\x19PROJECT_ASSET_USE_PROJECT\x10\x04*g\n\x0eProjectSortDir\x12 \n\x1cPROJECT_SORT_DIR_UNSPECIFIED\x10\x00\x12\x18\n\x14PROJECT_SORT_DIR_ASC\x10\x01\x12\x19\n\x15PROJECT_SORT_DIR_DESC\x10\x02\x32\xe6\x04\n\x0eProjectService\x12;\n\x06\x43reate\x12\x1d.gooseai.CreateProjectRequest\x1a\x10.gooseai.Project\"\x00\x12;\n\x06Update\x12\x1d.gooseai.UpdateProjectRequest\x1a\x10.gooseai.Project\"\x00\x12\x39\n\x04List\x12\x1b.gooseai.ListProjectRequest\x1a\x10.gooseai.Project\"\x00\x30\x01\x12\x35\n\x03Get\x12\x1a.gooseai.GetProjectRequest\x1a\x10.gooseai.Project\"\x00\x12;\n\x06\x44\x65lete\x12\x1d.gooseai.DeleteProjectRequest\x1a\x10.gooseai.Project\"\x00\x12\x44\n\tTagAssets\x12\x19.gooseai.TagAssetsRequest\x1a\x1a.gooseai.TagAssetsResponse\"\x00\x12J\n\x0bUntagAssets\x12\x1b.gooseai.UntagAssetsRequest\x1a\x1c.gooseai.UntagAssetsResponse\"\x00\x12J\n\x0bQueryAssets\x12\x1b.gooseai.QueryAssetsRequest\x1a\x1c.gooseai.QueryAssetsResponse\"\x00\x12M\n\x0c\x44\x65leteAssets\x12\x1c.gooseai.DeleteAssetsRequest\x1a\x1d.gooseai.DeleteAssetsResponse\"\x00\x42\x38Z6github.com/stability-ai/api-interfaces/gooseai/projectb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rproject.proto\x12\x07gooseai\x1a\x10generation.proto\"\x91\x02\n\x0cProjectAsset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12%\n\x03use\x18\x03 \x01(\x0e\x32\x18.gooseai.ProjectAssetUse\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04size\x18\x05 \x01(\x04\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12\x12\n\nupdated_at\x18\x07 \x01(\x04\x12!\n\x07request\x18\x08 \x01(\x0b\x32\x10.gooseai.Request\x12-\n\x04tags\x18\t \x03(\x0b\x32\x1f.gooseai.ProjectAsset.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xac\x02\n\x07Project\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x10\n\x08owner_id\x18\x03 \x01(\t\x12&\n\x06\x61\x63\x63\x65ss\x18\x04 \x01(\x0e\x32\x16.gooseai.ProjectAccess\x12&\n\x06status\x18\x05 \x01(\x0e\x32\x16.gooseai.ProjectStatus\x12\x0c\n\x04size\x18\x06 \x01(\x04\x12#\n\x04\x66ile\x18\x07 \x01(\x0b\x32\x15.gooseai.ProjectAsset\x12\x12\n\ncreated_at\x18\x08 \x01(\x04\x12\x12\n\nupdated_at\x18\t \x01(\x04\x12%\n\x06\x61ssets\x18\n \x03(\x0b\x32\x15.gooseai.ProjectAsset\x12\"\n\x04type\x18\x0b \x01(\x0e\x32\x14.gooseai.ProjectType\"\xf0\x01\n\x14\x43reateProjectRequest\x12\r\n\x05title\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x06\x61\x63\x63\x65ss\x18\x03 \x01(\x0e\x32\x16.gooseai.ProjectAccess\x12&\n\x06status\x18\x04 \x01(\x0e\x32\x16.gooseai.ProjectStatus\x12(\n\x04\x66ile\x18\x05 \x01(\x0b\x32\x15.gooseai.ProjectAssetH\x01\x88\x01\x01\x12\"\n\x04type\x18\x06 \x01(\x0e\x32\x14.gooseai.ProjectTypeB\x0b\n\t_owner_idB\x07\n\x05_file\"\xb9\x02\n\x14UpdateProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05title\x18\x03 \x01(\tH\x01\x88\x01\x01\x12+\n\x06\x61\x63\x63\x65ss\x18\x04 \x01(\x0e\x32\x16.gooseai.ProjectAccessH\x02\x88\x01\x01\x12+\n\x06status\x18\x05 \x01(\x0e\x32\x16.gooseai.ProjectStatusH\x03\x88\x01\x01\x12(\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x15.gooseai.ProjectAssetH\x04\x88\x01\x01\x12\'\n\x04type\x18\x07 \x01(\x0e\x32\x14.gooseai.ProjectTypeH\x05\x88\x01\x01\x42\x0b\n\t_owner_idB\x08\n\x06_titleB\t\n\x07_accessB\t\n\x07_statusB\x07\n\x05_fileB\x07\n\x05_type\"8\n\x12ListProjectRequest\x12\x15\n\x08owner_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_owner_id\"C\n\x11GetProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_owner_id\"F\n\x14\x44\x65leteProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_owner_id\"\xf8\x02\n\x12QueryAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05since\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05until\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x16\n\tstart_key\x18\x06 \x01(\tH\x04\x88\x01\x01\x12%\n\x03use\x18\x07 \x03(\x0e\x32\x18.gooseai.ProjectAssetUse\x12)\n\x08sort_dir\x18\x08 \x01(\x0e\x32\x17.gooseai.ProjectSortDir\x12\x33\n\x04tags\x18\t \x03(\x0b\x32%.gooseai.QueryAssetsRequest.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0b\n\t_owner_idB\x08\n\x06_sinceB\x08\n\x06_untilB\x08\n\x06_limitB\x0c\n\n_start_key\"`\n\x13QueryAssetsResponse\x12%\n\x06\x61ssets\x18\x01 \x03(\x0b\x32\x15.gooseai.ProjectAsset\x12\x15\n\x08last_key\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_last_key\"\xb5\x01\n\x10TagAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tasset_ids\x18\x03 \x03(\t\x12\x31\n\x04tags\x18\x04 \x03(\x0b\x32#.gooseai.TagAssetsRequest.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0b\n\t_owner_id\"D\n\x11TagAssetsResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08owner_id\x18\x02 \x01(\t\x12\x11\n\tasset_ids\x18\x03 \x03(\t\"i\n\x12UntagAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tasset_ids\x18\x03 \x03(\t\x12\x10\n\x08tag_keys\x18\x04 \x03(\tB\x0b\n\t_owner_id\"F\n\x13UntagAssetsResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08owner_id\x18\x02 \x01(\t\x12\x11\n\tasset_ids\x18\x03 \x03(\t\"X\n\x13\x44\x65leteAssetsRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\x08owner_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tasset_ids\x18\x03 \x03(\tB\x0b\n\t_owner_id\"G\n\x14\x44\x65leteAssetsResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08owner_id\x18\x02 \x01(\t\x12\x11\n\tasset_ids\x18\x03 \x03(\t*F\n\rProjectAccess\x12\x1a\n\x16PROJECT_ACCESS_PRIVATE\x10\x00\x12\x19\n\x15PROJECT_ACCESS_PUBLIC\x10\x01*c\n\rProjectStatus\x12\x1b\n\x17PROJECT_STATUS_INACTIVE\x10\x00\x12\x19\n\x15PROJECT_STATUS_ACTIVE\x10\x01\x12\x1a\n\x16PROJECT_STATUS_DELETED\x10\x02*\xb0\x01\n\x0fProjectAssetUse\x12\x1f\n\x1bPROJECT_ASSET_USE_UNDEFINED\x10\x00\x12\x1b\n\x17PROJECT_ASSET_USE_INPUT\x10\x01\x12\x1c\n\x18PROJECT_ASSET_USE_OUTPUT\x10\x02\x12\"\n\x1ePROJECT_ASSET_USE_INTERMEDIATE\x10\x03\x12\x1d\n\x19PROJECT_ASSET_USE_PROJECT\x10\x04*g\n\x0eProjectSortDir\x12 \n\x1cPROJECT_SORT_DIR_UNSPECIFIED\x10\x00\x12\x18\n\x14PROJECT_SORT_DIR_ASC\x10\x01\x12\x19\n\x15PROJECT_SORT_DIR_DESC\x10\x02*F\n\x0bProjectType\x12\x1c\n\x18PROJECT_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15PROJECT_TYPE_TRAINING\x10\x01\x32\xe6\x04\n\x0eProjectService\x12;\n\x06\x43reate\x12\x1d.gooseai.CreateProjectRequest\x1a\x10.gooseai.Project\"\x00\x12;\n\x06Update\x12\x1d.gooseai.UpdateProjectRequest\x1a\x10.gooseai.Project\"\x00\x12\x39\n\x04List\x12\x1b.gooseai.ListProjectRequest\x1a\x10.gooseai.Project\"\x00\x30\x01\x12\x35\n\x03Get\x12\x1a.gooseai.GetProjectRequest\x1a\x10.gooseai.Project\"\x00\x12;\n\x06\x44\x65lete\x12\x1d.gooseai.DeleteProjectRequest\x1a\x10.gooseai.Project\"\x00\x12\x44\n\tTagAssets\x12\x19.gooseai.TagAssetsRequest\x1a\x1a.gooseai.TagAssetsResponse\"\x00\x12J\n\x0bUntagAssets\x12\x1b.gooseai.UntagAssetsRequest\x1a\x1c.gooseai.UntagAssetsResponse\"\x00\x12J\n\x0bQueryAssets\x12\x1b.gooseai.QueryAssetsRequest\x1a\x1c.gooseai.QueryAssetsResponse\"\x00\x12M\n\x0c\x44\x65leteAssets\x12\x1c.gooseai.DeleteAssetsRequest\x1a\x1d.gooseai.DeleteAssetsResponse\"\x00\x42\x38Z6github.com/stability-ai/api-interfaces/gooseai/projectb\x06proto3') _PROJECTACCESS = DESCRIPTOR.enum_types_by_name['ProjectAccess'] ProjectAccess = enum_type_wrapper.EnumTypeWrapper(_PROJECTACCESS) @@ -26,6 +26,8 @@ ProjectAssetUse = enum_type_wrapper.EnumTypeWrapper(_PROJECTASSETUSE) _PROJECTSORTDIR = DESCRIPTOR.enum_types_by_name['ProjectSortDir'] ProjectSortDir = enum_type_wrapper.EnumTypeWrapper(_PROJECTSORTDIR) +_PROJECTTYPE = DESCRIPTOR.enum_types_by_name['ProjectType'] +ProjectType = enum_type_wrapper.EnumTypeWrapper(_PROJECTTYPE) PROJECT_ACCESS_PRIVATE = 0 PROJECT_ACCESS_PUBLIC = 1 PROJECT_STATUS_INACTIVE = 0 @@ -39,6 +41,8 @@ PROJECT_SORT_DIR_UNSPECIFIED = 0 PROJECT_SORT_DIR_ASC = 1 PROJECT_SORT_DIR_DESC = 2 +PROJECT_TYPE_UNSPECIFIED = 0 +PROJECT_TYPE_TRAINING = 1 _PROJECTASSET = DESCRIPTOR.message_types_by_name['ProjectAsset'] @@ -199,50 +203,52 @@ _QUERYASSETSREQUEST_TAGSENTRY._serialized_options = b'8\001' _TAGASSETSREQUEST_TAGSENTRY._options = None _TAGASSETSREQUEST_TAGSENTRY._serialized_options = b'8\001' - _PROJECTACCESS._serialized_start=2332 - _PROJECTACCESS._serialized_end=2402 - _PROJECTSTATUS._serialized_start=2404 - _PROJECTSTATUS._serialized_end=2503 - _PROJECTASSETUSE._serialized_start=2506 - _PROJECTASSETUSE._serialized_end=2682 - _PROJECTSORTDIR._serialized_start=2684 - _PROJECTSORTDIR._serialized_end=2787 + _PROJECTACCESS._serialized_start=2454 + _PROJECTACCESS._serialized_end=2524 + _PROJECTSTATUS._serialized_start=2526 + _PROJECTSTATUS._serialized_end=2625 + _PROJECTASSETUSE._serialized_start=2628 + _PROJECTASSETUSE._serialized_end=2804 + _PROJECTSORTDIR._serialized_start=2806 + _PROJECTSORTDIR._serialized_end=2909 + _PROJECTTYPE._serialized_start=2911 + _PROJECTTYPE._serialized_end=2981 _PROJECTASSET._serialized_start=45 _PROJECTASSET._serialized_end=318 _PROJECTASSET_TAGSENTRY._serialized_start=275 _PROJECTASSET_TAGSENTRY._serialized_end=318 _PROJECT._serialized_start=321 - _PROJECT._serialized_end=585 - _CREATEPROJECTREQUEST._serialized_start=588 - _CREATEPROJECTREQUEST._serialized_end=792 - _UPDATEPROJECTREQUEST._serialized_start=795 - _UPDATEPROJECTREQUEST._serialized_end=1058 - _LISTPROJECTREQUEST._serialized_start=1060 - _LISTPROJECTREQUEST._serialized_end=1116 - _GETPROJECTREQUEST._serialized_start=1118 - _GETPROJECTREQUEST._serialized_end=1185 - _DELETEPROJECTREQUEST._serialized_start=1187 - _DELETEPROJECTREQUEST._serialized_end=1257 - _QUERYASSETSREQUEST._serialized_start=1260 - _QUERYASSETSREQUEST._serialized_end=1636 + _PROJECT._serialized_end=621 + _CREATEPROJECTREQUEST._serialized_start=624 + _CREATEPROJECTREQUEST._serialized_end=864 + _UPDATEPROJECTREQUEST._serialized_start=867 + _UPDATEPROJECTREQUEST._serialized_end=1180 + _LISTPROJECTREQUEST._serialized_start=1182 + _LISTPROJECTREQUEST._serialized_end=1238 + _GETPROJECTREQUEST._serialized_start=1240 + _GETPROJECTREQUEST._serialized_end=1307 + _DELETEPROJECTREQUEST._serialized_start=1309 + _DELETEPROJECTREQUEST._serialized_end=1379 + _QUERYASSETSREQUEST._serialized_start=1382 + _QUERYASSETSREQUEST._serialized_end=1758 _QUERYASSETSREQUEST_TAGSENTRY._serialized_start=275 _QUERYASSETSREQUEST_TAGSENTRY._serialized_end=318 - _QUERYASSETSRESPONSE._serialized_start=1638 - _QUERYASSETSRESPONSE._serialized_end=1734 - _TAGASSETSREQUEST._serialized_start=1737 - _TAGASSETSREQUEST._serialized_end=1918 + _QUERYASSETSRESPONSE._serialized_start=1760 + _QUERYASSETSRESPONSE._serialized_end=1856 + _TAGASSETSREQUEST._serialized_start=1859 + _TAGASSETSREQUEST._serialized_end=2040 _TAGASSETSREQUEST_TAGSENTRY._serialized_start=275 _TAGASSETSREQUEST_TAGSENTRY._serialized_end=318 - _TAGASSETSRESPONSE._serialized_start=1920 - _TAGASSETSRESPONSE._serialized_end=1988 - _UNTAGASSETSREQUEST._serialized_start=1990 - _UNTAGASSETSREQUEST._serialized_end=2095 - _UNTAGASSETSRESPONSE._serialized_start=2097 - _UNTAGASSETSRESPONSE._serialized_end=2167 - _DELETEASSETSREQUEST._serialized_start=2169 - _DELETEASSETSREQUEST._serialized_end=2257 - _DELETEASSETSRESPONSE._serialized_start=2259 - _DELETEASSETSRESPONSE._serialized_end=2330 - _PROJECTSERVICE._serialized_start=2790 - _PROJECTSERVICE._serialized_end=3404 + _TAGASSETSRESPONSE._serialized_start=2042 + _TAGASSETSRESPONSE._serialized_end=2110 + _UNTAGASSETSREQUEST._serialized_start=2112 + _UNTAGASSETSREQUEST._serialized_end=2217 + _UNTAGASSETSRESPONSE._serialized_start=2219 + _UNTAGASSETSRESPONSE._serialized_end=2289 + _DELETEASSETSREQUEST._serialized_start=2291 + _DELETEASSETSREQUEST._serialized_end=2379 + _DELETEASSETSRESPONSE._serialized_start=2381 + _DELETEASSETSRESPONSE._serialized_end=2452 + _PROJECTSERVICE._serialized_start=2984 + _PROJECTSERVICE._serialized_end=3598 # @@protoc_insertion_point(module_scope) diff --git a/src/proto/finetuning.proto b/src/proto/finetuning.proto new file mode 100644 index 0000000..7a77395 --- /dev/null +++ b/src/proto/finetuning.proto @@ -0,0 +1,108 @@ +syntax = "proto3"; +package gooseai; + +option go_package = "github.com/stability-ai/api-interfaces/gooseai/finetuning"; +import "google/protobuf/struct.proto"; + +enum FineTuningMode { + FINE_TUNING_MODE_UNSPECIFIED = 0; // No mode specified + FINE_TUNING_MODE_FACE = 1; // Fine tuning a face model + FINE_TUNING_MODE_STYLE = 2; // Fine tuning a style model + FINE_TUNING_MODE_OBJECT = 3; // Fine tuning an object model +} + +enum FineTuningStatus { + FINE_TUNING_STATUS_NOT_STARTED = 0; // Model not yet started + FINE_TUNING_STATUS_RUNNING = 1; // Model is currently running + FINE_TUNING_STATUS_COMPLETED = 2; // Model has completed successfully + FINE_TUNING_STATUS_FAILED = 3; // Model has failed + FINE_TUNING_STATUS_SUBMITTED = 4; // Model has been submitted +} + +message FineTuningModel { + string id = 1; // ID of the model, UUIDv4 + string user_id = 2; // ID of user who created the model + string name = 3; // a readable model name + optional FineTuningMode mode = 4; // the mode of the model + optional string object_prompt = 5; // freeform text description of object, should only be set when mode is OBJECT + string project_id = 6; // project ID with assets to be used for fine tuning + double duration = 7; // duration in seconds for how long the model took to train + FineTuningStatus status = 8; // the current status of the model + string engine_id = 9; // the engineId of a fine-tuneable Stability model + optional string failure_reason = 10; // If a model's training failed, this will contain the reason +} + +message CreateModelRequest { + string name = 1; // a readable model name + optional FineTuningMode mode = 2; // the mode of the model + optional string object_prompt = 3; // freeform text description of object, should only be set when mode is OBJECT + string project_id = 4; // the project_id with assets to be used for fine tuning + string engine_id = 5; // the engineId of an fine-tuneable Stability model + optional google.protobuf.Struct extras = 2047; // for development use +} + +message CreateModelResponse { + FineTuningModel model = 1; +} + +message GetModelRequest { + string id = 1; // ID of the model +} + +message GetModelResponse { + FineTuningModel model = 1; +} + +message UpdateModelRequest{ + string id = 1; // the id of the model + optional string name = 2; // a readable model name + optional FineTuningMode mode = 3; // the mode of the model + optional string object_prompt = 4; // freeform text description of object, should only be set when mode is OBJECT + optional string engine_id = 5; // the engineId of an fine-tuneable Stability model +} + +message UpdateModelResponse { + FineTuningModel model = 1; +} + +message DeleteModelRequest { + string id = 1; // ID of the model to delete +} + +message DeleteModelResponse { + FineTuningModel model = 1; +} + +message ResubmitModelRequest { + string id = 1; // ID of the model to resubmit +} + +message ResubmitModelResponse { + FineTuningModel model = 1; +} + +message ListModelsRequest { + oneof id { + string org_id = 1; // the organization's ID + string user_id = 2; // or the user's ID + } +} + +message ListModelsResponse { + repeated FineTuningModel models = 1; // the list of models +} + +service FineTuningService { + // Create a new model and begin the fine tuning process + rpc CreateModel (CreateModelRequest) returns (CreateModelResponse); + // Get a FineTuningModel + rpc GetModel (GetModelRequest) returns (GetModelResponse); + // Update a FineTuningModel by id + rpc UpdateModel (UpdateModelRequest) returns (UpdateModelResponse); + // Delete a fine tuned model + rpc DeleteModel (DeleteModelRequest) returns (DeleteModelResponse); + // Re-run training, does not create a new model + rpc ResubmitModel (ResubmitModelRequest) returns (ResubmitModelResponse); + // List all the fine tuned models for an organization or user + rpc ListModels (ListModelsRequest) returns (ListModelsResponse); +} \ No newline at end of file diff --git a/src/proto/stability_api/platform/engines/v1/engines.proto b/src/proto/stability_api/platform/engines/v1/engines.proto index 8ca2d31..21d1742 100644 --- a/src/proto/stability_api/platform/engines/v1/engines.proto +++ b/src/proto/stability_api/platform/engines/v1/engines.proto @@ -26,6 +26,7 @@ message EngineInfo { EngineTokenizer tokenizer = 5; string name = 6; string description = 7; + bool can_fine_tune = 8; } message ListEnginesRequest { diff --git a/src/proto/stability_api/platform/generation/v1/generation.proto b/src/proto/stability_api/platform/generation/v1/generation.proto index f8986ab..626b684 100644 --- a/src/proto/stability_api/platform/generation/v1/generation.proto +++ b/src/proto/stability_api/platform/generation/v1/generation.proto @@ -219,6 +219,50 @@ message TransformType { } } +enum T2IAdapter { + T2IADAPTER_NONE = 0; + T2IADAPTER_SKETCH = 1; // these are all compatible with SDXL. + T2IADAPTER_DEPTH = 2; + T2IADAPTER_CANNY = 3; +} + +// If adapter_type is not None, then the user can choose what type of init_image to pass in: either an arbitrary image +// which will then be converted to a depth map, sketch, or canny edge for the sketch, depth and canny adapters respectively, +// or they can pass in their own depth map, sketch or canny edge. This field controls whether the init_image should +// be interpreted as an arbitrary image to be preprocessed ready for the t2i adapter, or whether it has already been +// preprocessed elsewhere +enum T2IAdapterInit { + T2IADAPTERINIT_IMAGE = 0; // these are all compatible with SDXL. + T2IADAPTERINIT_ADAPTER_IMAGE = 1; +} + +message T2IAdapterParameter { + T2IAdapter adapter_type = 1; + float adapter_strength = 2; + T2IAdapterInit adapter_init_type = 3; +} +message CAIParameters { + enum ModelMetadata { + MODEL_METADATA_UNSPECIFIED = 0; + MODEL_METADATA_SIGN_WITH_ENGINE_ID = 1; + } + oneof parameters { + ModelMetadata model_metadata = 1; + } +} + +// FineTuningParameters specify which fine-tuned models to use for generation. +message FineTuningParameters { + // The id of the fine-tuned model to generate content from. + // See FineTuningModel.id in finetuning.proto. + // Model Id is created upon invoking CreateFineTuningModel. + // When GetFineTuningModelStatus returns a FineTuningModelStatus of + // FINE_TUNING_MODEL_STATUS_COMPLETED, the model can be used + // for generating images. + string model_id = 1; + optional float weight = 2; // defaults to 1.0 +} + message ImageParameters { optional uint64 height = 1; optional uint64 width = 2; @@ -230,6 +274,10 @@ message ImageParameters { optional MaskedAreaInit masked_area_init = 8; // defaults to MASKED_AREA_INIT_ZERO optional WeightMethod weight_method = 9; //defaults to TEXT_ENCODER optional bool quantize = 10; //defaults to true + optional CAIParameters cai_parameters = 11; // Set field to have image signed by C2PA + optional T2IAdapterParameter adapter = 12; + repeated FineTuningParameters fine_tuning_parameters = 13; + // next available tag: 14 } enum Action { diff --git a/src/proto/stability_api/platform/project/v1/project.proto b/src/proto/stability_api/platform/project/v1/project.proto index 11f538d..6001267 100644 --- a/src/proto/stability_api/platform/project/v1/project.proto +++ b/src/proto/stability_api/platform/project/v1/project.proto @@ -28,6 +28,12 @@ enum ProjectSortDir { PROJECT_SORT_DIR_DESC = 2; // Sort in descending order } +// The Type of Project being created +enum ProjectType { + PROJECT_TYPE_UNSPECIFIED = 0; // Zero-value, unspecified + PROJECT_TYPE_TRAINING = 1; // Training project, used for Fine-Tuning models +} + message ProjectAsset { string id = 1; // ID of the asset, UUIDv4 string uri = 2; // The URI to the asset @@ -51,6 +57,7 @@ message Project { uint64 created_at = 8; // Time of project creation (UTC seconds epoch) uint64 updated_at = 9; // Time of last project update (UTC seconds epoch) repeated ProjectAsset assets = 10; // The listing of all assets associated with the project + ProjectType type = 11; // The type of project } message CreateProjectRequest { @@ -59,6 +66,7 @@ message CreateProjectRequest { ProjectAccess access = 3; // The access of the project (such as public vs private) ProjectStatus status = 4; // The status of the project (such as active vs inactive) optional ProjectAsset file = 5; // Project file for the project (if existing, else will create) + ProjectType type = 6; // The type of project } message UpdateProjectRequest { @@ -68,6 +76,7 @@ message UpdateProjectRequest { optional ProjectAccess access = 4; // The access of the project (such as public vs private) optional ProjectStatus status = 5; // The status of the project (such as active vs inactive) optional ProjectAsset file = 6; // Project file for the project + optional ProjectType type = 7; // The type of project } message ListProjectRequest {