From 8568bf29b2618432e327aebc5b7e6450e196a4db Mon Sep 17 00:00:00 2001 From: Nicolas Menard Date: Mon, 31 Aug 2026 14:50:04 +0000 Subject: [PATCH] RSDK-14454: Add SetManualMode, GetManualMode and GetProperties to Arm API --- component/arm/v1/arm.pb.go | 807 +++++++++---- component/arm/v1/arm.pb.gw.go | 363 ++++++ component/arm/v1/arm_grpc.pb.go | 114 ++ gen/js/component/arm/v1/arm_grpc_web_pb.js | 183 +++ gen/js/component/arm/v1/arm_pb.d.ts | 146 +++ gen/js/component/arm/v1/arm_pb.js | 1126 +++++++++++++++++++ gen/js/component/arm/v1/arm_pb_service.d.ts | 57 + gen/js/component/arm/v1/arm_pb_service.js | 120 ++ proto/viam/component/arm/v1/arm.proto | 54 + 9 files changed, 2767 insertions(+), 203 deletions(-) diff --git a/component/arm/v1/arm.pb.go b/component/arm/v1/arm.pb.go index 8ea64f5ed..9a6508b56 100644 --- a/component/arm/v1/arm.pb.go +++ b/component/arm/v1/arm.pb.go @@ -1248,6 +1248,326 @@ func (x *MoveOptions) GetMaxTcpSpeed() float64 { return 0 } +type SetManualModeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of an arm + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // True to enter manual mode, false to exit it + ManualMode bool `protobuf:"varint,2,opt,name=manual_mode,json=manualMode,proto3" json:"manual_mode,omitempty"` + // How long to stay in manual mode, in seconds; 0 means no time limit + EnabledFor int32 `protobuf:"varint,3,opt,name=enabled_for,json=enabledFor,proto3" json:"enabled_for,omitempty"` + // Additional arguments to the method + Extra *structpb.Struct `protobuf:"bytes,99,opt,name=extra,proto3" json:"extra,omitempty"` +} + +func (x *SetManualModeRequest) Reset() { + *x = SetManualModeRequest{} + mi := &file_component_arm_v1_arm_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetManualModeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetManualModeRequest) ProtoMessage() {} + +func (x *SetManualModeRequest) ProtoReflect() protoreflect.Message { + mi := &file_component_arm_v1_arm_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetManualModeRequest.ProtoReflect.Descriptor instead. +func (*SetManualModeRequest) Descriptor() ([]byte, []int) { + return file_component_arm_v1_arm_proto_rawDescGZIP(), []int{22} +} + +func (x *SetManualModeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SetManualModeRequest) GetManualMode() bool { + if x != nil { + return x.ManualMode + } + return false +} + +func (x *SetManualModeRequest) GetEnabledFor() int32 { + if x != nil { + return x.EnabledFor + } + return 0 +} + +func (x *SetManualModeRequest) GetExtra() *structpb.Struct { + if x != nil { + return x.Extra + } + return nil +} + +type SetManualModeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SetManualModeResponse) Reset() { + *x = SetManualModeResponse{} + mi := &file_component_arm_v1_arm_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetManualModeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetManualModeResponse) ProtoMessage() {} + +func (x *SetManualModeResponse) ProtoReflect() protoreflect.Message { + mi := &file_component_arm_v1_arm_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetManualModeResponse.ProtoReflect.Descriptor instead. +func (*SetManualModeResponse) Descriptor() ([]byte, []int) { + return file_component_arm_v1_arm_proto_rawDescGZIP(), []int{23} +} + +type GetManualModeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of an arm + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Additional arguments to the method + Extra *structpb.Struct `protobuf:"bytes,99,opt,name=extra,proto3" json:"extra,omitempty"` +} + +func (x *GetManualModeRequest) Reset() { + *x = GetManualModeRequest{} + mi := &file_component_arm_v1_arm_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManualModeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManualModeRequest) ProtoMessage() {} + +func (x *GetManualModeRequest) ProtoReflect() protoreflect.Message { + mi := &file_component_arm_v1_arm_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetManualModeRequest.ProtoReflect.Descriptor instead. +func (*GetManualModeRequest) Descriptor() ([]byte, []int) { + return file_component_arm_v1_arm_proto_rawDescGZIP(), []int{24} +} + +func (x *GetManualModeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetManualModeRequest) GetExtra() *structpb.Struct { + if x != nil { + return x.Extra + } + return nil +} + +type GetManualModeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // True if the arm is in manual mode + ManualMode bool `protobuf:"varint,1,opt,name=manual_mode,json=manualMode,proto3" json:"manual_mode,omitempty"` +} + +func (x *GetManualModeResponse) Reset() { + *x = GetManualModeResponse{} + mi := &file_component_arm_v1_arm_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManualModeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManualModeResponse) ProtoMessage() {} + +func (x *GetManualModeResponse) ProtoReflect() protoreflect.Message { + mi := &file_component_arm_v1_arm_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetManualModeResponse.ProtoReflect.Descriptor instead. +func (*GetManualModeResponse) Descriptor() ([]byte, []int) { + return file_component_arm_v1_arm_proto_rawDescGZIP(), []int{25} +} + +func (x *GetManualModeResponse) GetManualMode() bool { + if x != nil { + return x.ManualMode + } + return false +} + +type GetPropertiesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of an arm + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Additional arguments to the method + Extra *structpb.Struct `protobuf:"bytes,99,opt,name=extra,proto3" json:"extra,omitempty"` +} + +func (x *GetPropertiesRequest) Reset() { + *x = GetPropertiesRequest{} + mi := &file_component_arm_v1_arm_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPropertiesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPropertiesRequest) ProtoMessage() {} + +func (x *GetPropertiesRequest) ProtoReflect() protoreflect.Message { + mi := &file_component_arm_v1_arm_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPropertiesRequest.ProtoReflect.Descriptor instead. +func (*GetPropertiesRequest) Descriptor() ([]byte, []int) { + return file_component_arm_v1_arm_proto_rawDescGZIP(), []int{26} +} + +func (x *GetPropertiesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetPropertiesRequest) GetExtra() *structpb.Struct { + if x != nil { + return x.Extra + } + return nil +} + +type GetPropertiesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // True if the arm supports software-enabled manual mode + SupportManualMode bool `protobuf:"varint,1,opt,name=support_manual_mode,json=supportManualMode,proto3" json:"support_manual_mode,omitempty"` + // True if the arm supports direct cartesian commands (MoveToPosition is implemented) + SupportCartesianCommands bool `protobuf:"varint,2,opt,name=support_cartesian_commands,json=supportCartesianCommands,proto3" json:"support_cartesian_commands,omitempty"` +} + +func (x *GetPropertiesResponse) Reset() { + *x = GetPropertiesResponse{} + mi := &file_component_arm_v1_arm_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPropertiesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPropertiesResponse) ProtoMessage() {} + +func (x *GetPropertiesResponse) ProtoReflect() protoreflect.Message { + mi := &file_component_arm_v1_arm_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPropertiesResponse.ProtoReflect.Descriptor instead. +func (*GetPropertiesResponse) Descriptor() ([]byte, []int) { + return file_component_arm_v1_arm_proto_rawDescGZIP(), []int{27} +} + +func (x *GetPropertiesResponse) GetSupportManualMode() bool { + if x != nil { + return x.SupportManualMode + } + return false +} + +func (x *GetPropertiesResponse) GetSupportCartesianCommands() bool { + if x != nil { + return x.SupportCartesianCommands + } + return false +} + type TrajectoryPoint_KinematicConstraints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1262,7 +1582,7 @@ type TrajectoryPoint_KinematicConstraints struct { func (x *TrajectoryPoint_KinematicConstraints) Reset() { *x = TrajectoryPoint_KinematicConstraints{} - mi := &file_component_arm_v1_arm_proto_msgTypes[22] + mi := &file_component_arm_v1_arm_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1274,7 +1594,7 @@ func (x *TrajectoryPoint_KinematicConstraints) String() string { func (*TrajectoryPoint_KinematicConstraints) ProtoMessage() {} func (x *TrajectoryPoint_KinematicConstraints) ProtoReflect() protoreflect.Message { - mi := &file_component_arm_v1_arm_proto_msgTypes[22] + mi := &file_component_arm_v1_arm_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1315,7 +1635,7 @@ type MoveThroughJointPositionsStreamedRequest_Init struct { func (x *MoveThroughJointPositionsStreamedRequest_Init) Reset() { *x = MoveThroughJointPositionsStreamedRequest_Init{} - mi := &file_component_arm_v1_arm_proto_msgTypes[23] + mi := &file_component_arm_v1_arm_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1327,7 +1647,7 @@ func (x *MoveThroughJointPositionsStreamedRequest_Init) String() string { func (*MoveThroughJointPositionsStreamedRequest_Init) ProtoMessage() {} func (x *MoveThroughJointPositionsStreamedRequest_Init) ProtoReflect() protoreflect.Message { - mi := &file_component_arm_v1_arm_proto_msgTypes[23] + mi := &file_component_arm_v1_arm_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1682,7 @@ type MoveThroughJointPositionsStreamedRequest_TrajectoryBatch struct { func (x *MoveThroughJointPositionsStreamedRequest_TrajectoryBatch) Reset() { *x = MoveThroughJointPositionsStreamedRequest_TrajectoryBatch{} - mi := &file_component_arm_v1_arm_proto_msgTypes[24] + mi := &file_component_arm_v1_arm_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1374,7 +1694,7 @@ func (x *MoveThroughJointPositionsStreamedRequest_TrajectoryBatch) String() stri func (*MoveThroughJointPositionsStreamedRequest_TrajectoryBatch) ProtoMessage() {} func (x *MoveThroughJointPositionsStreamedRequest_TrajectoryBatch) ProtoReflect() protoreflect.Message { - mi := &file_component_arm_v1_arm_proto_msgTypes[24] + mi := &file_component_arm_v1_arm_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1418,7 +1738,7 @@ type MoveThroughJointPositionsStreamedResponse_BatchAck struct { func (x *MoveThroughJointPositionsStreamedResponse_BatchAck) Reset() { *x = MoveThroughJointPositionsStreamedResponse_BatchAck{} - mi := &file_component_arm_v1_arm_proto_msgTypes[25] + mi := &file_component_arm_v1_arm_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1430,7 +1750,7 @@ func (x *MoveThroughJointPositionsStreamedResponse_BatchAck) String() string { func (*MoveThroughJointPositionsStreamedResponse_BatchAck) ProtoMessage() {} func (x *MoveThroughJointPositionsStreamedResponse_BatchAck) ProtoReflect() protoreflect.Message { - mi := &file_component_arm_v1_arm_proto_msgTypes[25] + mi := &file_component_arm_v1_arm_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1649,143 +1969,209 @@ var file_component_arm_v1_arm_proto_rawDesc = []byte{ 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x5f, 0x64, 0x65, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x32, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x63, 0x70, 0x5f, - 0x73, 0x70, 0x65, 0x65, 0x64, 0x32, 0xbb, 0x10, 0x0a, 0x0a, 0x41, 0x72, 0x6d, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, + 0x73, 0x70, 0x65, 0x65, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 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, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x66, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x46, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x52, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 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, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x18, 0x63, 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, + 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, + 0x65, 0x22, 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 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, 0x2d, 0x0a, + 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x85, 0x01, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x63, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x43, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x32, 0xa4, 0x14, 0x0a, 0x0a, 0x41, 0x72, 0x6d, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x69, + 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa5, 0x01, 0x0a, 0x0e, 0x4d, 0x6f, 0x76, 0x65, + 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0xa0, 0x92, 0x29, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2c, 0x1a, 0x2a, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0xb1, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, - 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa5, 0x01, 0x0a, 0x0e, 0x4d, 0x6f, 0x76, - 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0xa0, 0x92, 0x29, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2c, 0x1a, 0x2a, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0xb1, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x33, 0x12, 0x31, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, + 0x12, 0x31, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x7d, 0x2f, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4a, 0x6f, + 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x74, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4a, + 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xa0, 0x92, 0x29, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x1a, 0x31, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4a, - 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, - 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, - 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xa0, 0x92, 0x29, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x33, 0x1a, 0x31, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, - 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, - 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, - 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xa0, 0x92, 0x29, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x40, 0x22, 0x3e, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, - 0x67, 0x68, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, - 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x12, 0x3f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, + 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, + 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xa0, 0x92, 0x29, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x40, 0x22, 0x3e, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x12, 0x3f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4a, 0x6f, 0x69, - 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0xa0, 0x92, 0x29, - 0x01, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x22, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x26, - 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, - 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x90, 0x01, 0x0a, 0x08, 0x49, 0x73, 0x4d, 0x6f, 0x76, - 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, 0x6f, - 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, - 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, - 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x86, 0x01, 0x0a, 0x09, 0x44, 0x6f, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2e, 0x22, 0x2c, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x64, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x12, 0x86, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0xa0, 0x92, 0x29, 0x01, + 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x22, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x26, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, - 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x12, 0x24, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, - 0x12, 0x92, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, - 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x33, 0x44, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, + 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x90, 0x01, 0x0a, 0x08, 0x49, 0x73, 0x4d, 0x6f, 0x76, 0x69, + 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, 0x6f, 0x76, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x73, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x69, + 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x69, + 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x86, 0x01, 0x0a, 0x09, 0x44, 0x6f, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2e, 0x22, 0x2c, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x64, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x86, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, + 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, + 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x12, 0x24, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x12, + 0x92, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, - 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x33, 0x64, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x42, 0x3d, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, + 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x33, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x12, 0xa1, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x1a, 0x2d, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, + 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x5a, 0x20, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x69, + 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6d, + 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, + 0x2a, 0x2f, 0x76, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x3d, 0x0a, 0x19, 0x63, + 0x6f, 0x6d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x2e, 0x61, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x5a, 0x20, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1800,7 +2186,7 @@ func file_component_arm_v1_arm_proto_rawDescGZIP() []byte { return file_component_arm_v1_arm_proto_rawDescData } -var file_component_arm_v1_arm_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_component_arm_v1_arm_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_component_arm_v1_arm_proto_goTypes = []any{ (*GetEndPositionRequest)(nil), // 0: viam.component.arm.v1.GetEndPositionRequest (*GetEndPositionResponse)(nil), // 1: viam.component.arm.v1.GetEndPositionResponse @@ -1824,81 +2210,96 @@ var file_component_arm_v1_arm_proto_goTypes = []any{ (*IsMovingRequest)(nil), // 19: viam.component.arm.v1.IsMovingRequest (*IsMovingResponse)(nil), // 20: viam.component.arm.v1.IsMovingResponse (*MoveOptions)(nil), // 21: viam.component.arm.v1.MoveOptions - (*TrajectoryPoint_KinematicConstraints)(nil), // 22: viam.component.arm.v1.TrajectoryPoint.KinematicConstraints - (*MoveThroughJointPositionsStreamedRequest_Init)(nil), // 23: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.Init - (*MoveThroughJointPositionsStreamedRequest_TrajectoryBatch)(nil), // 24: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.TrajectoryBatch - (*MoveThroughJointPositionsStreamedResponse_BatchAck)(nil), // 25: viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.BatchAck - (*structpb.Struct)(nil), // 26: google.protobuf.Struct - (*v1.Pose)(nil), // 27: viam.common.v1.Pose - (*durationpb.Duration)(nil), // 28: google.protobuf.Duration - (*v1.DoCommandRequest)(nil), // 29: viam.common.v1.DoCommandRequest - (*v1.GetStatusRequest)(nil), // 30: viam.common.v1.GetStatusRequest - (*v1.GetKinematicsRequest)(nil), // 31: viam.common.v1.GetKinematicsRequest - (*v1.GetGeometriesRequest)(nil), // 32: viam.common.v1.GetGeometriesRequest - (*v1.Get3DModelsRequest)(nil), // 33: viam.common.v1.Get3DModelsRequest - (*v1.DoCommandResponse)(nil), // 34: viam.common.v1.DoCommandResponse - (*v1.GetStatusResponse)(nil), // 35: viam.common.v1.GetStatusResponse - (*v1.GetKinematicsResponse)(nil), // 36: viam.common.v1.GetKinematicsResponse - (*v1.GetGeometriesResponse)(nil), // 37: viam.common.v1.GetGeometriesResponse - (*v1.Get3DModelsResponse)(nil), // 38: viam.common.v1.Get3DModelsResponse + (*SetManualModeRequest)(nil), // 22: viam.component.arm.v1.SetManualModeRequest + (*SetManualModeResponse)(nil), // 23: viam.component.arm.v1.SetManualModeResponse + (*GetManualModeRequest)(nil), // 24: viam.component.arm.v1.GetManualModeRequest + (*GetManualModeResponse)(nil), // 25: viam.component.arm.v1.GetManualModeResponse + (*GetPropertiesRequest)(nil), // 26: viam.component.arm.v1.GetPropertiesRequest + (*GetPropertiesResponse)(nil), // 27: viam.component.arm.v1.GetPropertiesResponse + (*TrajectoryPoint_KinematicConstraints)(nil), // 28: viam.component.arm.v1.TrajectoryPoint.KinematicConstraints + (*MoveThroughJointPositionsStreamedRequest_Init)(nil), // 29: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.Init + (*MoveThroughJointPositionsStreamedRequest_TrajectoryBatch)(nil), // 30: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.TrajectoryBatch + (*MoveThroughJointPositionsStreamedResponse_BatchAck)(nil), // 31: viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.BatchAck + (*structpb.Struct)(nil), // 32: google.protobuf.Struct + (*v1.Pose)(nil), // 33: viam.common.v1.Pose + (*durationpb.Duration)(nil), // 34: google.protobuf.Duration + (*v1.DoCommandRequest)(nil), // 35: viam.common.v1.DoCommandRequest + (*v1.GetStatusRequest)(nil), // 36: viam.common.v1.GetStatusRequest + (*v1.GetKinematicsRequest)(nil), // 37: viam.common.v1.GetKinematicsRequest + (*v1.GetGeometriesRequest)(nil), // 38: viam.common.v1.GetGeometriesRequest + (*v1.Get3DModelsRequest)(nil), // 39: viam.common.v1.Get3DModelsRequest + (*v1.DoCommandResponse)(nil), // 40: viam.common.v1.DoCommandResponse + (*v1.GetStatusResponse)(nil), // 41: viam.common.v1.GetStatusResponse + (*v1.GetKinematicsResponse)(nil), // 42: viam.common.v1.GetKinematicsResponse + (*v1.GetGeometriesResponse)(nil), // 43: viam.common.v1.GetGeometriesResponse + (*v1.Get3DModelsResponse)(nil), // 44: viam.common.v1.Get3DModelsResponse } var file_component_arm_v1_arm_proto_depIdxs = []int32{ - 26, // 0: viam.component.arm.v1.GetEndPositionRequest.extra:type_name -> google.protobuf.Struct - 27, // 1: viam.component.arm.v1.GetEndPositionResponse.pose:type_name -> viam.common.v1.Pose - 26, // 2: viam.component.arm.v1.GetJointPositionsRequest.extra:type_name -> google.protobuf.Struct + 32, // 0: viam.component.arm.v1.GetEndPositionRequest.extra:type_name -> google.protobuf.Struct + 33, // 1: viam.component.arm.v1.GetEndPositionResponse.pose:type_name -> viam.common.v1.Pose + 32, // 2: viam.component.arm.v1.GetJointPositionsRequest.extra:type_name -> google.protobuf.Struct 2, // 3: viam.component.arm.v1.GetJointPositionsResponse.positions:type_name -> viam.component.arm.v1.JointPositions - 27, // 4: viam.component.arm.v1.MoveToPositionRequest.to:type_name -> viam.common.v1.Pose - 26, // 5: viam.component.arm.v1.MoveToPositionRequest.extra:type_name -> google.protobuf.Struct + 33, // 4: viam.component.arm.v1.MoveToPositionRequest.to:type_name -> viam.common.v1.Pose + 32, // 5: viam.component.arm.v1.MoveToPositionRequest.extra:type_name -> google.protobuf.Struct 2, // 6: viam.component.arm.v1.MoveToJointPositionsRequest.positions:type_name -> viam.component.arm.v1.JointPositions - 26, // 7: viam.component.arm.v1.MoveToJointPositionsRequest.extra:type_name -> google.protobuf.Struct + 32, // 7: viam.component.arm.v1.MoveToJointPositionsRequest.extra:type_name -> google.protobuf.Struct 2, // 8: viam.component.arm.v1.MoveThroughJointPositionsRequest.positions:type_name -> viam.component.arm.v1.JointPositions 21, // 9: viam.component.arm.v1.MoveThroughJointPositionsRequest.options:type_name -> viam.component.arm.v1.MoveOptions - 26, // 10: viam.component.arm.v1.MoveThroughJointPositionsRequest.extra:type_name -> google.protobuf.Struct - 28, // 11: viam.component.arm.v1.TrajectoryPoint.time:type_name -> google.protobuf.Duration + 32, // 10: viam.component.arm.v1.MoveThroughJointPositionsRequest.extra:type_name -> google.protobuf.Struct + 34, // 11: viam.component.arm.v1.TrajectoryPoint.time:type_name -> google.protobuf.Duration 2, // 12: viam.component.arm.v1.TrajectoryPoint.positions:type_name -> viam.component.arm.v1.JointPositions - 22, // 13: viam.component.arm.v1.TrajectoryPoint.constraints:type_name -> viam.component.arm.v1.TrajectoryPoint.KinematicConstraints - 23, // 14: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.init:type_name -> viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.Init - 24, // 15: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.batch:type_name -> viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.TrajectoryBatch - 25, // 16: viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.ack:type_name -> viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.BatchAck - 26, // 17: viam.component.arm.v1.StopRequest.extra:type_name -> google.protobuf.Struct - 27, // 18: viam.component.arm.v1.Status.end_position:type_name -> viam.common.v1.Pose + 28, // 13: viam.component.arm.v1.TrajectoryPoint.constraints:type_name -> viam.component.arm.v1.TrajectoryPoint.KinematicConstraints + 29, // 14: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.init:type_name -> viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.Init + 30, // 15: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.batch:type_name -> viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.TrajectoryBatch + 31, // 16: viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.ack:type_name -> viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.BatchAck + 32, // 17: viam.component.arm.v1.StopRequest.extra:type_name -> google.protobuf.Struct + 33, // 18: viam.component.arm.v1.Status.end_position:type_name -> viam.common.v1.Pose 2, // 19: viam.component.arm.v1.Status.joint_positions:type_name -> viam.component.arm.v1.JointPositions - 3, // 20: viam.component.arm.v1.TrajectoryPoint.KinematicConstraints.velocities:type_name -> viam.component.arm.v1.JointVelocities - 4, // 21: viam.component.arm.v1.TrajectoryPoint.KinematicConstraints.accelerations:type_name -> viam.component.arm.v1.JointAccelerations - 26, // 22: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.Init.extra:type_name -> google.protobuf.Struct - 13, // 23: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.TrajectoryBatch.points:type_name -> viam.component.arm.v1.TrajectoryPoint - 26, // 24: viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.BatchAck.extra:type_name -> google.protobuf.Struct - 0, // 25: viam.component.arm.v1.ArmService.GetEndPosition:input_type -> viam.component.arm.v1.GetEndPositionRequest - 7, // 26: viam.component.arm.v1.ArmService.MoveToPosition:input_type -> viam.component.arm.v1.MoveToPositionRequest - 5, // 27: viam.component.arm.v1.ArmService.GetJointPositions:input_type -> viam.component.arm.v1.GetJointPositionsRequest - 9, // 28: viam.component.arm.v1.ArmService.MoveToJointPositions:input_type -> viam.component.arm.v1.MoveToJointPositionsRequest - 11, // 29: viam.component.arm.v1.ArmService.MoveThroughJointPositions:input_type -> viam.component.arm.v1.MoveThroughJointPositionsRequest - 14, // 30: viam.component.arm.v1.ArmService.MoveThroughJointPositionsStreamed:input_type -> viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest - 16, // 31: viam.component.arm.v1.ArmService.Stop:input_type -> viam.component.arm.v1.StopRequest - 19, // 32: viam.component.arm.v1.ArmService.IsMoving:input_type -> viam.component.arm.v1.IsMovingRequest - 29, // 33: viam.component.arm.v1.ArmService.DoCommand:input_type -> viam.common.v1.DoCommandRequest - 30, // 34: viam.component.arm.v1.ArmService.GetStatus:input_type -> viam.common.v1.GetStatusRequest - 31, // 35: viam.component.arm.v1.ArmService.GetKinematics:input_type -> viam.common.v1.GetKinematicsRequest - 32, // 36: viam.component.arm.v1.ArmService.GetGeometries:input_type -> viam.common.v1.GetGeometriesRequest - 33, // 37: viam.component.arm.v1.ArmService.Get3DModels:input_type -> viam.common.v1.Get3DModelsRequest - 1, // 38: viam.component.arm.v1.ArmService.GetEndPosition:output_type -> viam.component.arm.v1.GetEndPositionResponse - 8, // 39: viam.component.arm.v1.ArmService.MoveToPosition:output_type -> viam.component.arm.v1.MoveToPositionResponse - 6, // 40: viam.component.arm.v1.ArmService.GetJointPositions:output_type -> viam.component.arm.v1.GetJointPositionsResponse - 10, // 41: viam.component.arm.v1.ArmService.MoveToJointPositions:output_type -> viam.component.arm.v1.MoveToJointPositionsResponse - 12, // 42: viam.component.arm.v1.ArmService.MoveThroughJointPositions:output_type -> viam.component.arm.v1.MoveThroughJointPositionsResponse - 15, // 43: viam.component.arm.v1.ArmService.MoveThroughJointPositionsStreamed:output_type -> viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse - 17, // 44: viam.component.arm.v1.ArmService.Stop:output_type -> viam.component.arm.v1.StopResponse - 20, // 45: viam.component.arm.v1.ArmService.IsMoving:output_type -> viam.component.arm.v1.IsMovingResponse - 34, // 46: viam.component.arm.v1.ArmService.DoCommand:output_type -> viam.common.v1.DoCommandResponse - 35, // 47: viam.component.arm.v1.ArmService.GetStatus:output_type -> viam.common.v1.GetStatusResponse - 36, // 48: viam.component.arm.v1.ArmService.GetKinematics:output_type -> viam.common.v1.GetKinematicsResponse - 37, // 49: viam.component.arm.v1.ArmService.GetGeometries:output_type -> viam.common.v1.GetGeometriesResponse - 38, // 50: viam.component.arm.v1.ArmService.Get3DModels:output_type -> viam.common.v1.Get3DModelsResponse - 38, // [38:51] is the sub-list for method output_type - 25, // [25:38] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name + 32, // 20: viam.component.arm.v1.SetManualModeRequest.extra:type_name -> google.protobuf.Struct + 32, // 21: viam.component.arm.v1.GetManualModeRequest.extra:type_name -> google.protobuf.Struct + 32, // 22: viam.component.arm.v1.GetPropertiesRequest.extra:type_name -> google.protobuf.Struct + 3, // 23: viam.component.arm.v1.TrajectoryPoint.KinematicConstraints.velocities:type_name -> viam.component.arm.v1.JointVelocities + 4, // 24: viam.component.arm.v1.TrajectoryPoint.KinematicConstraints.accelerations:type_name -> viam.component.arm.v1.JointAccelerations + 32, // 25: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.Init.extra:type_name -> google.protobuf.Struct + 13, // 26: viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest.TrajectoryBatch.points:type_name -> viam.component.arm.v1.TrajectoryPoint + 32, // 27: viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse.BatchAck.extra:type_name -> google.protobuf.Struct + 0, // 28: viam.component.arm.v1.ArmService.GetEndPosition:input_type -> viam.component.arm.v1.GetEndPositionRequest + 7, // 29: viam.component.arm.v1.ArmService.MoveToPosition:input_type -> viam.component.arm.v1.MoveToPositionRequest + 5, // 30: viam.component.arm.v1.ArmService.GetJointPositions:input_type -> viam.component.arm.v1.GetJointPositionsRequest + 9, // 31: viam.component.arm.v1.ArmService.MoveToJointPositions:input_type -> viam.component.arm.v1.MoveToJointPositionsRequest + 11, // 32: viam.component.arm.v1.ArmService.MoveThroughJointPositions:input_type -> viam.component.arm.v1.MoveThroughJointPositionsRequest + 14, // 33: viam.component.arm.v1.ArmService.MoveThroughJointPositionsStreamed:input_type -> viam.component.arm.v1.MoveThroughJointPositionsStreamedRequest + 16, // 34: viam.component.arm.v1.ArmService.Stop:input_type -> viam.component.arm.v1.StopRequest + 19, // 35: viam.component.arm.v1.ArmService.IsMoving:input_type -> viam.component.arm.v1.IsMovingRequest + 35, // 36: viam.component.arm.v1.ArmService.DoCommand:input_type -> viam.common.v1.DoCommandRequest + 36, // 37: viam.component.arm.v1.ArmService.GetStatus:input_type -> viam.common.v1.GetStatusRequest + 37, // 38: viam.component.arm.v1.ArmService.GetKinematics:input_type -> viam.common.v1.GetKinematicsRequest + 38, // 39: viam.component.arm.v1.ArmService.GetGeometries:input_type -> viam.common.v1.GetGeometriesRequest + 39, // 40: viam.component.arm.v1.ArmService.Get3DModels:input_type -> viam.common.v1.Get3DModelsRequest + 22, // 41: viam.component.arm.v1.ArmService.SetManualMode:input_type -> viam.component.arm.v1.SetManualModeRequest + 24, // 42: viam.component.arm.v1.ArmService.GetManualMode:input_type -> viam.component.arm.v1.GetManualModeRequest + 26, // 43: viam.component.arm.v1.ArmService.GetProperties:input_type -> viam.component.arm.v1.GetPropertiesRequest + 1, // 44: viam.component.arm.v1.ArmService.GetEndPosition:output_type -> viam.component.arm.v1.GetEndPositionResponse + 8, // 45: viam.component.arm.v1.ArmService.MoveToPosition:output_type -> viam.component.arm.v1.MoveToPositionResponse + 6, // 46: viam.component.arm.v1.ArmService.GetJointPositions:output_type -> viam.component.arm.v1.GetJointPositionsResponse + 10, // 47: viam.component.arm.v1.ArmService.MoveToJointPositions:output_type -> viam.component.arm.v1.MoveToJointPositionsResponse + 12, // 48: viam.component.arm.v1.ArmService.MoveThroughJointPositions:output_type -> viam.component.arm.v1.MoveThroughJointPositionsResponse + 15, // 49: viam.component.arm.v1.ArmService.MoveThroughJointPositionsStreamed:output_type -> viam.component.arm.v1.MoveThroughJointPositionsStreamedResponse + 17, // 50: viam.component.arm.v1.ArmService.Stop:output_type -> viam.component.arm.v1.StopResponse + 20, // 51: viam.component.arm.v1.ArmService.IsMoving:output_type -> viam.component.arm.v1.IsMovingResponse + 40, // 52: viam.component.arm.v1.ArmService.DoCommand:output_type -> viam.common.v1.DoCommandResponse + 41, // 53: viam.component.arm.v1.ArmService.GetStatus:output_type -> viam.common.v1.GetStatusResponse + 42, // 54: viam.component.arm.v1.ArmService.GetKinematics:output_type -> viam.common.v1.GetKinematicsResponse + 43, // 55: viam.component.arm.v1.ArmService.GetGeometries:output_type -> viam.common.v1.GetGeometriesResponse + 44, // 56: viam.component.arm.v1.ArmService.Get3DModels:output_type -> viam.common.v1.Get3DModelsResponse + 23, // 57: viam.component.arm.v1.ArmService.SetManualMode:output_type -> viam.component.arm.v1.SetManualModeResponse + 25, // 58: viam.component.arm.v1.ArmService.GetManualMode:output_type -> viam.component.arm.v1.GetManualModeResponse + 27, // 59: viam.component.arm.v1.ArmService.GetProperties:output_type -> viam.component.arm.v1.GetPropertiesResponse + 44, // [44:60] is the sub-list for method output_type + 28, // [28:44] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_component_arm_v1_arm_proto_init() } @@ -1916,14 +2317,14 @@ func file_component_arm_v1_arm_proto_init() { (*MoveThroughJointPositionsStreamedResponse_Ack)(nil), } file_component_arm_v1_arm_proto_msgTypes[21].OneofWrappers = []any{} - file_component_arm_v1_arm_proto_msgTypes[22].OneofWrappers = []any{} + file_component_arm_v1_arm_proto_msgTypes[28].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_component_arm_v1_arm_proto_rawDesc, NumEnums: 0, - NumMessages: 26, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/component/arm/v1/arm.pb.gw.go b/component/arm/v1/arm.pb.gw.go index 8633d72c6..53e811b73 100644 --- a/component/arm/v1/arm.pb.gw.go +++ b/component/arm/v1/arm.pb.gw.go @@ -879,6 +879,216 @@ func local_request_ArmService_Get3DModels_0(ctx context.Context, marshaler runti } +var ( + filter_ArmService_SetManualMode_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ArmService_SetManualMode_0(ctx context.Context, marshaler runtime.Marshaler, client ArmServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetManualModeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArmService_SetManualMode_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SetManualMode(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArmService_SetManualMode_0(ctx context.Context, marshaler runtime.Marshaler, server ArmServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetManualModeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArmService_SetManualMode_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SetManualMode(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ArmService_GetManualMode_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ArmService_GetManualMode_0(ctx context.Context, marshaler runtime.Marshaler, client ArmServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetManualModeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArmService_GetManualMode_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetManualMode(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArmService_GetManualMode_0(ctx context.Context, marshaler runtime.Marshaler, server ArmServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetManualModeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArmService_GetManualMode_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetManualMode(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ArmService_GetProperties_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ArmService_GetProperties_0(ctx context.Context, marshaler runtime.Marshaler, client ArmServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPropertiesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArmService_GetProperties_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProperties(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArmService_GetProperties_0(ctx context.Context, marshaler runtime.Marshaler, server ArmServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPropertiesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArmService_GetProperties_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetProperties(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterArmServiceHandlerServer registers the http handlers for service ArmService to "mux". // UnaryRPC :call ArmServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -1192,6 +1402,81 @@ func RegisterArmServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, }) + mux.Handle("PUT", pattern_ArmService_SetManualMode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/viam.component.arm.v1.ArmService/SetManualMode", runtime.WithHTTPPathPattern("/viam/api/v1/component/arm/{name}/manual_mode")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArmService_SetManualMode_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArmService_SetManualMode_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArmService_GetManualMode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/viam.component.arm.v1.ArmService/GetManualMode", runtime.WithHTTPPathPattern("/viam/api/v1/component/arm/{name}/manual_mode")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArmService_GetManualMode_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArmService_GetManualMode_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArmService_GetProperties_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/viam.component.arm.v1.ArmService/GetProperties", runtime.WithHTTPPathPattern("/viam/api/v1/component/arm/{name}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArmService_GetProperties_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArmService_GetProperties_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1519,6 +1804,72 @@ func RegisterArmServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, }) + mux.Handle("PUT", pattern_ArmService_SetManualMode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/viam.component.arm.v1.ArmService/SetManualMode", runtime.WithHTTPPathPattern("/viam/api/v1/component/arm/{name}/manual_mode")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArmService_SetManualMode_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArmService_SetManualMode_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArmService_GetManualMode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/viam.component.arm.v1.ArmService/GetManualMode", runtime.WithHTTPPathPattern("/viam/api/v1/component/arm/{name}/manual_mode")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArmService_GetManualMode_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArmService_GetManualMode_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArmService_GetProperties_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/viam.component.arm.v1.ArmService/GetProperties", runtime.WithHTTPPathPattern("/viam/api/v1/component/arm/{name}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArmService_GetProperties_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArmService_GetProperties_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1548,6 +1899,12 @@ var ( pattern_ArmService_GetGeometries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"viam", "api", "v1", "component", "arm", "name", "geometries"}, "")) pattern_ArmService_Get3DModels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"viam", "api", "v1", "component", "arm", "name", "3d_models"}, "")) + + pattern_ArmService_SetManualMode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"viam", "api", "v1", "component", "arm", "name", "manual_mode"}, "")) + + pattern_ArmService_GetManualMode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"viam", "api", "v1", "component", "arm", "name", "manual_mode"}, "")) + + pattern_ArmService_GetProperties_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"viam", "api", "v1", "component", "arm", "name", "features"}, "")) ) var ( @@ -1576,4 +1933,10 @@ var ( forward_ArmService_GetGeometries_0 = runtime.ForwardResponseMessage forward_ArmService_Get3DModels_0 = runtime.ForwardResponseMessage + + forward_ArmService_SetManualMode_0 = runtime.ForwardResponseMessage + + forward_ArmService_GetManualMode_0 = runtime.ForwardResponseMessage + + forward_ArmService_GetProperties_0 = runtime.ForwardResponseMessage ) diff --git a/component/arm/v1/arm_grpc.pb.go b/component/arm/v1/arm_grpc.pb.go index b93d46168..c016f661f 100644 --- a/component/arm/v1/arm_grpc.pb.go +++ b/component/arm/v1/arm_grpc.pb.go @@ -52,6 +52,12 @@ type ArmServiceClient interface { GetGeometries(ctx context.Context, in *v1.GetGeometriesRequest, opts ...grpc.CallOption) (*v1.GetGeometriesResponse, error) // Get3DModels returns the 3D models of the component Get3DModels(ctx context.Context, in *v1.Get3DModelsRequest, opts ...grpc.CallOption) (*v1.Get3DModelsResponse, error) + // SetManualMode enters or exits manual mode for an arm that supports it + SetManualMode(ctx context.Context, in *SetManualModeRequest, opts ...grpc.CallOption) (*SetManualModeResponse, error) + // GetManualMode returns whether the arm is currently in manual mode + GetManualMode(ctx context.Context, in *GetManualModeRequest, opts ...grpc.CallOption) (*GetManualModeResponse, error) + // GetProperties returns a message indicating which features the arm supports + GetProperties(ctx context.Context, in *GetPropertiesRequest, opts ...grpc.CallOption) (*GetPropertiesResponse, error) } type armServiceClient struct { @@ -201,6 +207,33 @@ func (c *armServiceClient) Get3DModels(ctx context.Context, in *v1.Get3DModelsRe return out, nil } +func (c *armServiceClient) SetManualMode(ctx context.Context, in *SetManualModeRequest, opts ...grpc.CallOption) (*SetManualModeResponse, error) { + out := new(SetManualModeResponse) + err := c.cc.Invoke(ctx, "/viam.component.arm.v1.ArmService/SetManualMode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *armServiceClient) GetManualMode(ctx context.Context, in *GetManualModeRequest, opts ...grpc.CallOption) (*GetManualModeResponse, error) { + out := new(GetManualModeResponse) + err := c.cc.Invoke(ctx, "/viam.component.arm.v1.ArmService/GetManualMode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *armServiceClient) GetProperties(ctx context.Context, in *GetPropertiesRequest, opts ...grpc.CallOption) (*GetPropertiesResponse, error) { + out := new(GetPropertiesResponse) + err := c.cc.Invoke(ctx, "/viam.component.arm.v1.ArmService/GetProperties", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ArmServiceServer is the server API for ArmService service. // All implementations must embed UnimplementedArmServiceServer // for forward compatibility @@ -234,6 +267,12 @@ type ArmServiceServer interface { GetGeometries(context.Context, *v1.GetGeometriesRequest) (*v1.GetGeometriesResponse, error) // Get3DModels returns the 3D models of the component Get3DModels(context.Context, *v1.Get3DModelsRequest) (*v1.Get3DModelsResponse, error) + // SetManualMode enters or exits manual mode for an arm that supports it + SetManualMode(context.Context, *SetManualModeRequest) (*SetManualModeResponse, error) + // GetManualMode returns whether the arm is currently in manual mode + GetManualMode(context.Context, *GetManualModeRequest) (*GetManualModeResponse, error) + // GetProperties returns a message indicating which features the arm supports + GetProperties(context.Context, *GetPropertiesRequest) (*GetPropertiesResponse, error) mustEmbedUnimplementedArmServiceServer() } @@ -280,6 +319,15 @@ func (UnimplementedArmServiceServer) GetGeometries(context.Context, *v1.GetGeome func (UnimplementedArmServiceServer) Get3DModels(context.Context, *v1.Get3DModelsRequest) (*v1.Get3DModelsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Get3DModels not implemented") } +func (UnimplementedArmServiceServer) SetManualMode(context.Context, *SetManualModeRequest) (*SetManualModeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetManualMode not implemented") +} +func (UnimplementedArmServiceServer) GetManualMode(context.Context, *GetManualModeRequest) (*GetManualModeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetManualMode not implemented") +} +func (UnimplementedArmServiceServer) GetProperties(context.Context, *GetPropertiesRequest) (*GetPropertiesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProperties not implemented") +} func (UnimplementedArmServiceServer) mustEmbedUnimplementedArmServiceServer() {} // UnsafeArmServiceServer may be embedded to opt out of forward compatibility for this service. @@ -535,6 +583,60 @@ func _ArmService_Get3DModels_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _ArmService_SetManualMode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetManualModeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArmServiceServer).SetManualMode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.component.arm.v1.ArmService/SetManualMode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArmServiceServer).SetManualMode(ctx, req.(*SetManualModeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArmService_GetManualMode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetManualModeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArmServiceServer).GetManualMode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.component.arm.v1.ArmService/GetManualMode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArmServiceServer).GetManualMode(ctx, req.(*GetManualModeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArmService_GetProperties_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPropertiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArmServiceServer).GetProperties(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.component.arm.v1.ArmService/GetProperties", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArmServiceServer).GetProperties(ctx, req.(*GetPropertiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ArmService_ServiceDesc is the grpc.ServiceDesc for ArmService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -590,6 +692,18 @@ var ArmService_ServiceDesc = grpc.ServiceDesc{ MethodName: "Get3DModels", Handler: _ArmService_Get3DModels_Handler, }, + { + MethodName: "SetManualMode", + Handler: _ArmService_SetManualMode_Handler, + }, + { + MethodName: "GetManualMode", + Handler: _ArmService_GetManualMode_Handler, + }, + { + MethodName: "GetProperties", + Handler: _ArmService_GetProperties_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/gen/js/component/arm/v1/arm_grpc_web_pb.js b/gen/js/component/arm/v1/arm_grpc_web_pb.js index c1bccbc95..d4cd8c6a1 100644 --- a/gen/js/component/arm/v1/arm_grpc_web_pb.js +++ b/gen/js/component/arm/v1/arm_grpc_web_pb.js @@ -817,5 +817,188 @@ proto.viam.component.arm.v1.ArmServicePromiseClient.prototype.get3DModels = }; +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.component.arm.v1.SetManualModeRequest, + * !proto.viam.component.arm.v1.SetManualModeResponse>} + */ +const methodDescriptor_ArmService_SetManualMode = new grpc.web.MethodDescriptor( + '/viam.component.arm.v1.ArmService/SetManualMode', + grpc.web.MethodType.UNARY, + proto.viam.component.arm.v1.SetManualModeRequest, + proto.viam.component.arm.v1.SetManualModeResponse, + /** + * @param {!proto.viam.component.arm.v1.SetManualModeRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.component.arm.v1.SetManualModeResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.component.arm.v1.SetManualModeRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.component.arm.v1.SetManualModeResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.component.arm.v1.ArmServiceClient.prototype.setManualMode = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.component.arm.v1.ArmService/SetManualMode', + request, + metadata || {}, + methodDescriptor_ArmService_SetManualMode, + callback); +}; + + +/** + * @param {!proto.viam.component.arm.v1.SetManualModeRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.component.arm.v1.ArmServicePromiseClient.prototype.setManualMode = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.component.arm.v1.ArmService/SetManualMode', + request, + metadata || {}, + methodDescriptor_ArmService_SetManualMode); +}; + + +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.component.arm.v1.GetManualModeRequest, + * !proto.viam.component.arm.v1.GetManualModeResponse>} + */ +const methodDescriptor_ArmService_GetManualMode = new grpc.web.MethodDescriptor( + '/viam.component.arm.v1.ArmService/GetManualMode', + grpc.web.MethodType.UNARY, + proto.viam.component.arm.v1.GetManualModeRequest, + proto.viam.component.arm.v1.GetManualModeResponse, + /** + * @param {!proto.viam.component.arm.v1.GetManualModeRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.component.arm.v1.GetManualModeResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.component.arm.v1.GetManualModeRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.component.arm.v1.GetManualModeResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.component.arm.v1.ArmServiceClient.prototype.getManualMode = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.component.arm.v1.ArmService/GetManualMode', + request, + metadata || {}, + methodDescriptor_ArmService_GetManualMode, + callback); +}; + + +/** + * @param {!proto.viam.component.arm.v1.GetManualModeRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.component.arm.v1.ArmServicePromiseClient.prototype.getManualMode = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.component.arm.v1.ArmService/GetManualMode', + request, + metadata || {}, + methodDescriptor_ArmService_GetManualMode); +}; + + +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.component.arm.v1.GetPropertiesRequest, + * !proto.viam.component.arm.v1.GetPropertiesResponse>} + */ +const methodDescriptor_ArmService_GetProperties = new grpc.web.MethodDescriptor( + '/viam.component.arm.v1.ArmService/GetProperties', + grpc.web.MethodType.UNARY, + proto.viam.component.arm.v1.GetPropertiesRequest, + proto.viam.component.arm.v1.GetPropertiesResponse, + /** + * @param {!proto.viam.component.arm.v1.GetPropertiesRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.component.arm.v1.GetPropertiesResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.component.arm.v1.GetPropertiesRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.component.arm.v1.GetPropertiesResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.component.arm.v1.ArmServiceClient.prototype.getProperties = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.component.arm.v1.ArmService/GetProperties', + request, + metadata || {}, + methodDescriptor_ArmService_GetProperties, + callback); +}; + + +/** + * @param {!proto.viam.component.arm.v1.GetPropertiesRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.component.arm.v1.ArmServicePromiseClient.prototype.getProperties = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.component.arm.v1.ArmService/GetProperties', + request, + metadata || {}, + methodDescriptor_ArmService_GetProperties); +}; + + module.exports = proto.viam.component.arm.v1; diff --git a/gen/js/component/arm/v1/arm_pb.d.ts b/gen/js/component/arm/v1/arm_pb.d.ts index 35fc95efc..ae884a03d 100644 --- a/gen/js/component/arm/v1/arm_pb.d.ts +++ b/gen/js/component/arm/v1/arm_pb.d.ts @@ -674,3 +674,149 @@ export namespace MoveOptions { } } +export class SetManualModeRequest extends jspb.Message { + getName(): string; + setName(value: string): void; + + getManualMode(): boolean; + setManualMode(value: boolean): void; + + getEnabledFor(): number; + setEnabledFor(value: number): void; + + hasExtra(): boolean; + clearExtra(): void; + getExtra(): google_protobuf_struct_pb.Struct | undefined; + setExtra(value?: google_protobuf_struct_pb.Struct): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SetManualModeRequest.AsObject; + static toObject(includeInstance: boolean, msg: SetManualModeRequest): SetManualModeRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SetManualModeRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SetManualModeRequest; + static deserializeBinaryFromReader(message: SetManualModeRequest, reader: jspb.BinaryReader): SetManualModeRequest; +} + +export namespace SetManualModeRequest { + export type AsObject = { + name: string, + manualMode: boolean, + enabledFor: number, + extra?: google_protobuf_struct_pb.Struct.AsObject, + } +} + +export class SetManualModeResponse extends jspb.Message { + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SetManualModeResponse.AsObject; + static toObject(includeInstance: boolean, msg: SetManualModeResponse): SetManualModeResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SetManualModeResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SetManualModeResponse; + static deserializeBinaryFromReader(message: SetManualModeResponse, reader: jspb.BinaryReader): SetManualModeResponse; +} + +export namespace SetManualModeResponse { + export type AsObject = { + } +} + +export class GetManualModeRequest extends jspb.Message { + getName(): string; + setName(value: string): void; + + hasExtra(): boolean; + clearExtra(): void; + getExtra(): google_protobuf_struct_pb.Struct | undefined; + setExtra(value?: google_protobuf_struct_pb.Struct): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetManualModeRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetManualModeRequest): GetManualModeRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetManualModeRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetManualModeRequest; + static deserializeBinaryFromReader(message: GetManualModeRequest, reader: jspb.BinaryReader): GetManualModeRequest; +} + +export namespace GetManualModeRequest { + export type AsObject = { + name: string, + extra?: google_protobuf_struct_pb.Struct.AsObject, + } +} + +export class GetManualModeResponse extends jspb.Message { + getManualMode(): boolean; + setManualMode(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetManualModeResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetManualModeResponse): GetManualModeResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetManualModeResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetManualModeResponse; + static deserializeBinaryFromReader(message: GetManualModeResponse, reader: jspb.BinaryReader): GetManualModeResponse; +} + +export namespace GetManualModeResponse { + export type AsObject = { + manualMode: boolean, + } +} + +export class GetPropertiesRequest extends jspb.Message { + getName(): string; + setName(value: string): void; + + hasExtra(): boolean; + clearExtra(): void; + getExtra(): google_protobuf_struct_pb.Struct | undefined; + setExtra(value?: google_protobuf_struct_pb.Struct): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPropertiesRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetPropertiesRequest): GetPropertiesRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPropertiesRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPropertiesRequest; + static deserializeBinaryFromReader(message: GetPropertiesRequest, reader: jspb.BinaryReader): GetPropertiesRequest; +} + +export namespace GetPropertiesRequest { + export type AsObject = { + name: string, + extra?: google_protobuf_struct_pb.Struct.AsObject, + } +} + +export class GetPropertiesResponse extends jspb.Message { + getSupportManualMode(): boolean; + setSupportManualMode(value: boolean): void; + + getSupportCartesianCommands(): boolean; + setSupportCartesianCommands(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetPropertiesResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetPropertiesResponse): GetPropertiesResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetPropertiesResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetPropertiesResponse; + static deserializeBinaryFromReader(message: GetPropertiesResponse, reader: jspb.BinaryReader): GetPropertiesResponse; +} + +export namespace GetPropertiesResponse { + export type AsObject = { + supportManualMode: boolean, + supportCartesianCommands: boolean, + } +} + diff --git a/gen/js/component/arm/v1/arm_pb.js b/gen/js/component/arm/v1/arm_pb.js index c8e3064a2..e2b9eea91 100644 --- a/gen/js/component/arm/v1/arm_pb.js +++ b/gen/js/component/arm/v1/arm_pb.js @@ -27,6 +27,10 @@ goog.exportSymbol('proto.viam.component.arm.v1.GetEndPositionRequest', null, glo goog.exportSymbol('proto.viam.component.arm.v1.GetEndPositionResponse', null, global); goog.exportSymbol('proto.viam.component.arm.v1.GetJointPositionsRequest', null, global); goog.exportSymbol('proto.viam.component.arm.v1.GetJointPositionsResponse', null, global); +goog.exportSymbol('proto.viam.component.arm.v1.GetManualModeRequest', null, global); +goog.exportSymbol('proto.viam.component.arm.v1.GetManualModeResponse', null, global); +goog.exportSymbol('proto.viam.component.arm.v1.GetPropertiesRequest', null, global); +goog.exportSymbol('proto.viam.component.arm.v1.GetPropertiesResponse', null, global); goog.exportSymbol('proto.viam.component.arm.v1.IsMovingRequest', null, global); goog.exportSymbol('proto.viam.component.arm.v1.IsMovingResponse', null, global); goog.exportSymbol('proto.viam.component.arm.v1.JointAccelerations', null, global); @@ -46,6 +50,8 @@ goog.exportSymbol('proto.viam.component.arm.v1.MoveToJointPositionsRequest', nul goog.exportSymbol('proto.viam.component.arm.v1.MoveToJointPositionsResponse', null, global); goog.exportSymbol('proto.viam.component.arm.v1.MoveToPositionRequest', null, global); goog.exportSymbol('proto.viam.component.arm.v1.MoveToPositionResponse', null, global); +goog.exportSymbol('proto.viam.component.arm.v1.SetManualModeRequest', null, global); +goog.exportSymbol('proto.viam.component.arm.v1.SetManualModeResponse', null, global); goog.exportSymbol('proto.viam.component.arm.v1.Status', null, global); goog.exportSymbol('proto.viam.component.arm.v1.StopRequest', null, global); goog.exportSymbol('proto.viam.component.arm.v1.StopResponse', null, global); @@ -597,6 +603,132 @@ if (goog.DEBUG && !COMPILED) { */ proto.viam.component.arm.v1.MoveOptions.displayName = 'proto.viam.component.arm.v1.MoveOptions'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.component.arm.v1.SetManualModeRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.component.arm.v1.SetManualModeRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.component.arm.v1.SetManualModeRequest.displayName = 'proto.viam.component.arm.v1.SetManualModeRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.component.arm.v1.SetManualModeResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.component.arm.v1.SetManualModeResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.component.arm.v1.SetManualModeResponse.displayName = 'proto.viam.component.arm.v1.SetManualModeResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.component.arm.v1.GetManualModeRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.component.arm.v1.GetManualModeRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.component.arm.v1.GetManualModeRequest.displayName = 'proto.viam.component.arm.v1.GetManualModeRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.component.arm.v1.GetManualModeResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.component.arm.v1.GetManualModeResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.component.arm.v1.GetManualModeResponse.displayName = 'proto.viam.component.arm.v1.GetManualModeResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.component.arm.v1.GetPropertiesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.component.arm.v1.GetPropertiesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.component.arm.v1.GetPropertiesRequest.displayName = 'proto.viam.component.arm.v1.GetPropertiesRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.component.arm.v1.GetPropertiesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.component.arm.v1.GetPropertiesResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.component.arm.v1.GetPropertiesResponse.displayName = 'proto.viam.component.arm.v1.GetPropertiesResponse'; +} @@ -5272,4 +5404,998 @@ proto.viam.component.arm.v1.MoveOptions.prototype.hasMaxTcpSpeed = function() { }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.component.arm.v1.SetManualModeRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.component.arm.v1.SetManualModeRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.SetManualModeRequest.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + manualMode: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), + enabledFor: jspb.Message.getFieldWithDefault(msg, 3, 0), + extra: (f = msg.getExtra()) && 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.viam.component.arm.v1.SetManualModeRequest} + */ +proto.viam.component.arm.v1.SetManualModeRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.component.arm.v1.SetManualModeRequest; + return proto.viam.component.arm.v1.SetManualModeRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.component.arm.v1.SetManualModeRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.component.arm.v1.SetManualModeRequest} + */ +proto.viam.component.arm.v1.SetManualModeRequest.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 {boolean} */ (reader.readBool()); + msg.setManualMode(value); + break; + case 3: + var value = /** @type {number} */ (reader.readInt32()); + msg.setEnabledFor(value); + break; + case 99: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.setExtra(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.component.arm.v1.SetManualModeRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.component.arm.v1.SetManualModeRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.SetManualModeRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getManualMode(); + if (f) { + writer.writeBool( + 2, + f + ); + } + f = message.getEnabledFor(); + if (f !== 0) { + writer.writeInt32( + 3, + f + ); + } + f = message.getExtra(); + if (f != null) { + writer.writeMessage( + 99, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.component.arm.v1.SetManualModeRequest} returns this + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional bool manual_mode = 2; + * @return {boolean} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.getManualMode = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.viam.component.arm.v1.SetManualModeRequest} returns this + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.setManualMode = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional int32 enabled_for = 3; + * @return {number} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.getEnabledFor = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.viam.component.arm.v1.SetManualModeRequest} returns this + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.setEnabledFor = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional google.protobuf.Struct extra = 99; + * @return {?proto.google.protobuf.Struct} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.getExtra = function() { + return /** @type{?proto.google.protobuf.Struct} */ ( + jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 99)); +}; + + +/** + * @param {?proto.google.protobuf.Struct|undefined} value + * @return {!proto.viam.component.arm.v1.SetManualModeRequest} returns this +*/ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.setExtra = function(value) { + return jspb.Message.setWrapperField(this, 99, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.viam.component.arm.v1.SetManualModeRequest} returns this + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.clearExtra = function() { + return this.setExtra(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.viam.component.arm.v1.SetManualModeRequest.prototype.hasExtra = function() { + return jspb.Message.getField(this, 99) != 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.viam.component.arm.v1.SetManualModeResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.component.arm.v1.SetManualModeResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.component.arm.v1.SetManualModeResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.SetManualModeResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.component.arm.v1.SetManualModeResponse} + */ +proto.viam.component.arm.v1.SetManualModeResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.component.arm.v1.SetManualModeResponse; + return proto.viam.component.arm.v1.SetManualModeResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.component.arm.v1.SetManualModeResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.component.arm.v1.SetManualModeResponse} + */ +proto.viam.component.arm.v1.SetManualModeResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.component.arm.v1.SetManualModeResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.component.arm.v1.SetManualModeResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.component.arm.v1.SetManualModeResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.SetManualModeResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.component.arm.v1.GetManualModeRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.component.arm.v1.GetManualModeRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetManualModeRequest.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + extra: (f = msg.getExtra()) && 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.viam.component.arm.v1.GetManualModeRequest} + */ +proto.viam.component.arm.v1.GetManualModeRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.component.arm.v1.GetManualModeRequest; + return proto.viam.component.arm.v1.GetManualModeRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.component.arm.v1.GetManualModeRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.component.arm.v1.GetManualModeRequest} + */ +proto.viam.component.arm.v1.GetManualModeRequest.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 99: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.setExtra(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.component.arm.v1.GetManualModeRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.component.arm.v1.GetManualModeRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetManualModeRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getExtra(); + if (f != null) { + writer.writeMessage( + 99, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.component.arm.v1.GetManualModeRequest} returns this + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional google.protobuf.Struct extra = 99; + * @return {?proto.google.protobuf.Struct} + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.getExtra = function() { + return /** @type{?proto.google.protobuf.Struct} */ ( + jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 99)); +}; + + +/** + * @param {?proto.google.protobuf.Struct|undefined} value + * @return {!proto.viam.component.arm.v1.GetManualModeRequest} returns this +*/ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.setExtra = function(value) { + return jspb.Message.setWrapperField(this, 99, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.viam.component.arm.v1.GetManualModeRequest} returns this + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.clearExtra = function() { + return this.setExtra(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.viam.component.arm.v1.GetManualModeRequest.prototype.hasExtra = function() { + return jspb.Message.getField(this, 99) != 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.viam.component.arm.v1.GetManualModeResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.component.arm.v1.GetManualModeResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.component.arm.v1.GetManualModeResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetManualModeResponse.toObject = function(includeInstance, msg) { + var f, obj = { + manualMode: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.component.arm.v1.GetManualModeResponse} + */ +proto.viam.component.arm.v1.GetManualModeResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.component.arm.v1.GetManualModeResponse; + return proto.viam.component.arm.v1.GetManualModeResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.component.arm.v1.GetManualModeResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.component.arm.v1.GetManualModeResponse} + */ +proto.viam.component.arm.v1.GetManualModeResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setManualMode(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.component.arm.v1.GetManualModeResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.component.arm.v1.GetManualModeResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.component.arm.v1.GetManualModeResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetManualModeResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getManualMode(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool manual_mode = 1; + * @return {boolean} + */ +proto.viam.component.arm.v1.GetManualModeResponse.prototype.getManualMode = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.viam.component.arm.v1.GetManualModeResponse} returns this + */ +proto.viam.component.arm.v1.GetManualModeResponse.prototype.setManualMode = function(value) { + return jspb.Message.setProto3BooleanField(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.viam.component.arm.v1.GetPropertiesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.component.arm.v1.GetPropertiesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.component.arm.v1.GetPropertiesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetPropertiesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + extra: (f = msg.getExtra()) && 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.viam.component.arm.v1.GetPropertiesRequest} + */ +proto.viam.component.arm.v1.GetPropertiesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.component.arm.v1.GetPropertiesRequest; + return proto.viam.component.arm.v1.GetPropertiesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.component.arm.v1.GetPropertiesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.component.arm.v1.GetPropertiesRequest} + */ +proto.viam.component.arm.v1.GetPropertiesRequest.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 99: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.setExtra(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.component.arm.v1.GetPropertiesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.component.arm.v1.GetPropertiesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetPropertiesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getExtra(); + if (f != null) { + writer.writeMessage( + 99, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.component.arm.v1.GetPropertiesRequest} returns this + */ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional google.protobuf.Struct extra = 99; + * @return {?proto.google.protobuf.Struct} + */ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.getExtra = function() { + return /** @type{?proto.google.protobuf.Struct} */ ( + jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 99)); +}; + + +/** + * @param {?proto.google.protobuf.Struct|undefined} value + * @return {!proto.viam.component.arm.v1.GetPropertiesRequest} returns this +*/ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.setExtra = function(value) { + return jspb.Message.setWrapperField(this, 99, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.viam.component.arm.v1.GetPropertiesRequest} returns this + */ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.clearExtra = function() { + return this.setExtra(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.viam.component.arm.v1.GetPropertiesRequest.prototype.hasExtra = function() { + return jspb.Message.getField(this, 99) != 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.viam.component.arm.v1.GetPropertiesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.component.arm.v1.GetPropertiesResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.component.arm.v1.GetPropertiesResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetPropertiesResponse.toObject = function(includeInstance, msg) { + var f, obj = { + supportManualMode: jspb.Message.getBooleanFieldWithDefault(msg, 1, false), + supportCartesianCommands: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.component.arm.v1.GetPropertiesResponse} + */ +proto.viam.component.arm.v1.GetPropertiesResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.component.arm.v1.GetPropertiesResponse; + return proto.viam.component.arm.v1.GetPropertiesResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.component.arm.v1.GetPropertiesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.component.arm.v1.GetPropertiesResponse} + */ +proto.viam.component.arm.v1.GetPropertiesResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setSupportManualMode(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setSupportCartesianCommands(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.component.arm.v1.GetPropertiesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.component.arm.v1.GetPropertiesResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.component.arm.v1.GetPropertiesResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.component.arm.v1.GetPropertiesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getSupportManualMode(); + if (f) { + writer.writeBool( + 1, + f + ); + } + f = message.getSupportCartesianCommands(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bool support_manual_mode = 1; + * @return {boolean} + */ +proto.viam.component.arm.v1.GetPropertiesResponse.prototype.getSupportManualMode = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.viam.component.arm.v1.GetPropertiesResponse} returns this + */ +proto.viam.component.arm.v1.GetPropertiesResponse.prototype.setSupportManualMode = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * optional bool support_cartesian_commands = 2; + * @return {boolean} + */ +proto.viam.component.arm.v1.GetPropertiesResponse.prototype.getSupportCartesianCommands = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.viam.component.arm.v1.GetPropertiesResponse} returns this + */ +proto.viam.component.arm.v1.GetPropertiesResponse.prototype.setSupportCartesianCommands = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + goog.object.extend(exports, proto.viam.component.arm.v1); diff --git a/gen/js/component/arm/v1/arm_pb_service.d.ts b/gen/js/component/arm/v1/arm_pb_service.d.ts index e77817461..85ddaea64 100644 --- a/gen/js/component/arm/v1/arm_pb_service.d.ts +++ b/gen/js/component/arm/v1/arm_pb_service.d.ts @@ -122,6 +122,33 @@ type ArmServiceGet3DModels = { readonly responseType: typeof common_v1_common_pb.Get3DModelsResponse; }; +type ArmServiceSetManualMode = { + readonly methodName: string; + readonly service: typeof ArmService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof component_arm_v1_arm_pb.SetManualModeRequest; + readonly responseType: typeof component_arm_v1_arm_pb.SetManualModeResponse; +}; + +type ArmServiceGetManualMode = { + readonly methodName: string; + readonly service: typeof ArmService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof component_arm_v1_arm_pb.GetManualModeRequest; + readonly responseType: typeof component_arm_v1_arm_pb.GetManualModeResponse; +}; + +type ArmServiceGetProperties = { + readonly methodName: string; + readonly service: typeof ArmService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof component_arm_v1_arm_pb.GetPropertiesRequest; + readonly responseType: typeof component_arm_v1_arm_pb.GetPropertiesResponse; +}; + export class ArmService { static readonly serviceName: string; static readonly GetEndPosition: ArmServiceGetEndPosition; @@ -137,6 +164,9 @@ export class ArmService { static readonly GetKinematics: ArmServiceGetKinematics; static readonly GetGeometries: ArmServiceGetGeometries; static readonly Get3DModels: ArmServiceGet3DModels; + static readonly SetManualMode: ArmServiceSetManualMode; + static readonly GetManualMode: ArmServiceGetManualMode; + static readonly GetProperties: ArmServiceGetProperties; } export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } @@ -280,5 +310,32 @@ export class ArmServiceClient { requestMessage: common_v1_common_pb.Get3DModelsRequest, callback: (error: ServiceError|null, responseMessage: common_v1_common_pb.Get3DModelsResponse|null) => void ): UnaryResponse; + setManualMode( + requestMessage: component_arm_v1_arm_pb.SetManualModeRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: component_arm_v1_arm_pb.SetManualModeResponse|null) => void + ): UnaryResponse; + setManualMode( + requestMessage: component_arm_v1_arm_pb.SetManualModeRequest, + callback: (error: ServiceError|null, responseMessage: component_arm_v1_arm_pb.SetManualModeResponse|null) => void + ): UnaryResponse; + getManualMode( + requestMessage: component_arm_v1_arm_pb.GetManualModeRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: component_arm_v1_arm_pb.GetManualModeResponse|null) => void + ): UnaryResponse; + getManualMode( + requestMessage: component_arm_v1_arm_pb.GetManualModeRequest, + callback: (error: ServiceError|null, responseMessage: component_arm_v1_arm_pb.GetManualModeResponse|null) => void + ): UnaryResponse; + getProperties( + requestMessage: component_arm_v1_arm_pb.GetPropertiesRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: component_arm_v1_arm_pb.GetPropertiesResponse|null) => void + ): UnaryResponse; + getProperties( + requestMessage: component_arm_v1_arm_pb.GetPropertiesRequest, + callback: (error: ServiceError|null, responseMessage: component_arm_v1_arm_pb.GetPropertiesResponse|null) => void + ): UnaryResponse; } diff --git a/gen/js/component/arm/v1/arm_pb_service.js b/gen/js/component/arm/v1/arm_pb_service.js index f17aa5648..1884c3eb1 100644 --- a/gen/js/component/arm/v1/arm_pb_service.js +++ b/gen/js/component/arm/v1/arm_pb_service.js @@ -128,6 +128,33 @@ ArmService.Get3DModels = { responseType: common_v1_common_pb.Get3DModelsResponse }; +ArmService.SetManualMode = { + methodName: "SetManualMode", + service: ArmService, + requestStream: false, + responseStream: false, + requestType: component_arm_v1_arm_pb.SetManualModeRequest, + responseType: component_arm_v1_arm_pb.SetManualModeResponse +}; + +ArmService.GetManualMode = { + methodName: "GetManualMode", + service: ArmService, + requestStream: false, + responseStream: false, + requestType: component_arm_v1_arm_pb.GetManualModeRequest, + responseType: component_arm_v1_arm_pb.GetManualModeResponse +}; + +ArmService.GetProperties = { + methodName: "GetProperties", + service: ArmService, + requestStream: false, + responseStream: false, + requestType: component_arm_v1_arm_pb.GetPropertiesRequest, + responseType: component_arm_v1_arm_pb.GetPropertiesResponse +}; + exports.ArmService = ArmService; function ArmServiceClient(serviceHost, options) { @@ -552,5 +579,98 @@ ArmServiceClient.prototype.get3DModels = function get3DModels(requestMessage, me }; }; +ArmServiceClient.prototype.setManualMode = function setManualMode(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(ArmService.SetManualMode, { + 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(); + } + }; +}; + +ArmServiceClient.prototype.getManualMode = function getManualMode(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(ArmService.GetManualMode, { + 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(); + } + }; +}; + +ArmServiceClient.prototype.getProperties = function getProperties(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(ArmService.GetProperties, { + 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.ArmServiceClient = ArmServiceClient; diff --git a/proto/viam/component/arm/v1/arm.proto b/proto/viam/component/arm/v1/arm.proto index 65a6f14fe..f9d09609a 100644 --- a/proto/viam/component/arm/v1/arm.proto +++ b/proto/viam/component/arm/v1/arm.proto @@ -82,6 +82,21 @@ service ArmService { rpc Get3DModels(common.v1.Get3DModelsRequest) returns (common.v1.Get3DModelsResponse) { option (google.api.http) = {get: "/viam/api/v1/component/arm/{name}/3d_models"}; } + + // SetManualMode enters or exits manual mode for an arm that supports it + rpc SetManualMode(SetManualModeRequest) returns (SetManualModeResponse) { + option (google.api.http) = {put: "/viam/api/v1/component/arm/{name}/manual_mode"}; + } + + // GetManualMode returns whether the arm is currently in manual mode + rpc GetManualMode(GetManualModeRequest) returns (GetManualModeResponse) { + option (google.api.http) = {get: "/viam/api/v1/component/arm/{name}/manual_mode"}; + } + + // GetProperties returns a message indicating which features the arm supports + rpc GetProperties(GetPropertiesRequest) returns (GetPropertiesResponse) { + option (google.api.http) = {get: "/viam/api/v1/component/arm/{name}/features"}; + } } message GetEndPositionRequest { @@ -286,3 +301,42 @@ message MoveOptions { // The arm driver will move the tool center point as fast as possible up to this set value. optional double max_tcp_speed = 5; } + +message SetManualModeRequest { + // Name of an arm + string name = 1; + // True to enter manual mode, false to exit it + bool manual_mode = 2; + // How long to stay in manual mode, in seconds; 0 means no time limit + int32 enabled_for = 3; + // Additional arguments to the method + google.protobuf.Struct extra = 99; +} + +message SetManualModeResponse {} + +message GetManualModeRequest { + // Name of an arm + string name = 1; + // Additional arguments to the method + google.protobuf.Struct extra = 99; +} + +message GetManualModeResponse { + // True if the arm is in manual mode + bool manual_mode = 1; +} + +message GetPropertiesRequest { + // Name of an arm + string name = 1; + // Additional arguments to the method + google.protobuf.Struct extra = 99; +} + +message GetPropertiesResponse { + // True if the arm supports software-enabled manual mode + bool support_manual_mode = 1; + // True if the arm supports direct cartesian commands (MoveToPosition is implemented) + bool support_cartesian_commands = 2; +}