diff --git a/docs/examples/_server.py b/docs/examples/_server.py index 9773a66ea..6342f393f 100644 --- a/docs/examples/_server.py +++ b/docs/examples/_server.py @@ -1,16 +1,152 @@ import asyncio from datetime import datetime -from grpclib.utils import graceful_exit -from grpclib.server import Server, Stream from google.protobuf.struct_pb2 import Struct, Value from google.protobuf.timestamp_pb2 import Timestamp +from grpclib.server import Server, Stream +from grpclib.utils import graceful_exit from viam.app.data_client import DataClient -from viam.utils import datetime_to_timestamp, dict_to_struct, value_to_primitive +from viam.proto.app import ( + AddRoleRequest, + AddRoleResponse, + AppServiceBase, + ChangeRoleRequest, + ChangeRoleResponse, + CheckPermissionsRequest, + CheckPermissionsResponse, + CreateFragmentRequest, + CreateFragmentResponse, + CreateKeyFromExistingKeyAuthorizationsRequest, + CreateKeyFromExistingKeyAuthorizationsResponse, + CreateKeyRequest, + CreateKeyResponse, + CreateLocationRequest, + CreateLocationResponse, + CreateLocationSecretRequest, + CreateLocationSecretResponse, + CreateModuleRequest, + CreateModuleResponse, + CreateOrganizationInviteRequest, + CreateOrganizationInviteResponse, + CreateOrganizationRequest, + CreateOrganizationResponse, + CreateRobotPartSecretRequest, + CreateRobotPartSecretResponse, + DeleteFragmentRequest, + DeleteFragmentResponse, + DeleteKeyRequest, + DeleteKeyResponse, + DeleteLocationRequest, + DeleteLocationResponse, + DeleteLocationSecretRequest, + DeleteLocationSecretResponse, + DeleteOrganizationInviteRequest, + DeleteOrganizationInviteResponse, + DeleteOrganizationMemberRequest, + DeleteOrganizationMemberResponse, + DeleteOrganizationRequest, + DeleteOrganizationResponse, + DeleteRobotPartRequest, + DeleteRobotPartResponse, + DeleteRobotPartSecretRequest, + DeleteRobotPartSecretResponse, + DeleteRobotRequest, + DeleteRobotResponse, + GetFragmentRequest, + GetFragmentResponse, + GetLocationRequest, + GetLocationResponse, + GetModuleRequest, + GetModuleResponse, + GetOrganizationNamespaceAvailabilityRequest, + GetOrganizationNamespaceAvailabilityResponse, + GetOrganizationRequest, + GetOrganizationResponse, + GetRobotAPIKeysRequest, + GetRobotAPIKeysResponse, + GetRobotPartHistoryRequest, + GetRobotPartHistoryResponse, + GetRobotPartLogsRequest, + GetRobotPartLogsResponse, + GetRobotPartRequest, + GetRobotPartResponse, + GetRobotPartsRequest, + GetRobotPartsResponse, + GetRobotRequest, + GetRobotResponse, + GetRoverRentalRobotsRequest, + GetRoverRentalRobotsResponse, + GetUserIDByEmailRequest, + GetUserIDByEmailResponse, + ListAuthorizationsRequest, + ListAuthorizationsResponse, + ListFragmentsRequest, + ListFragmentsResponse, + ListKeysRequest, + ListKeysResponse, + ListLocationsRequest, + ListLocationsResponse, + ListModulesRequest, + ListModulesResponse, + ListOrganizationMembersRequest, + ListOrganizationMembersResponse, + ListOrganizationsByUserRequest, + ListOrganizationsByUserResponse, + ListOrganizationsRequest, + ListOrganizationsResponse, + ListRobotsRequest, + ListRobotsResponse, + Location, + LocationAuthRequest, + LocationAuthResponse, +) +from viam.proto.app import LogEntry as LogEntryPB +from viam.proto.app import ( + MarkPartAsMainRequest, + MarkPartAsMainResponse, + MarkPartForRestartRequest, + MarkPartForRestartResponse, + NewRobotPartRequest, + NewRobotPartResponse, + NewRobotRequest, + NewRobotResponse, + Organization, + RemoveRoleRequest, + RemoveRoleResponse, + ResendOrganizationInviteRequest, + ResendOrganizationInviteResponse, + Robot, + RotateKeyRequest, + RotateKeyResponse, + ShareLocationRequest, + ShareLocationResponse, + TailRobotPartLogsRequest, + TailRobotPartLogsResponse, + UnshareLocationRequest, + UnshareLocationResponse, + UpdateFragmentRequest, + UpdateFragmentResponse, + UpdateLocationRequest, + UpdateLocationResponse, + UpdateModuleRequest, + UpdateModuleResponse, + UpdateOrganizationInviteAuthorizationsRequest, + UpdateOrganizationInviteAuthorizationsResponse, + UpdateOrganizationRequest, + UpdateOrganizationResponse, + UpdateRobotPartRequest, + UpdateRobotPartResponse, + UpdateRobotRequest, + UpdateRobotResponse, + UploadModuleFileRequest, + UploadModuleFileResponse, +) from viam.proto.app.data import ( - AddBoundingBoxToImageByIDResponse, + AddBinaryDataToDatasetByIDsRequest, + AddBinaryDataToDatasetByIDsResponse, AddBoundingBoxToImageByIDRequest, + AddBoundingBoxToImageByIDResponse, AddTagsToBinaryDataByFilterRequest, AddTagsToBinaryDataByFilterResponse, AddTagsToBinaryDataByIDsRequest, @@ -31,12 +167,12 @@ DeleteBinaryDataByIDsResponse, DeleteTabularDataRequest, DeleteTabularDataResponse, - DeleteTabularDataByFilterRequest, - DeleteTabularDataByFilterResponse, GetDatabaseConnectionRequest, GetDatabaseConnectionResponse, - RemoveBoundingBoxFromImageByIDResponse, + RemoveBinaryDataFromDatasetByIDsRequest, + RemoveBinaryDataFromDatasetByIDsResponse, RemoveBoundingBoxFromImageByIDRequest, + RemoveBoundingBoxFromImageByIDResponse, RemoveTagsFromBinaryDataByFilterRequest, RemoveTagsFromBinaryDataByFilterResponse, RemoveTagsFromBinaryDataByIDsRequest, @@ -56,131 +192,7 @@ StreamingDataCaptureUploadRequest, StreamingDataCaptureUploadResponse, ) -from viam.proto.app import ( - AppServiceBase, - GetUserIDByEmailRequest, - GetUserIDByEmailResponse, - CreateKeyRequest, - CreateKeyResponse, - CreateOrganizationRequest, - CreateOrganizationResponse, - ListOrganizationsRequest, - ListOrganizationsResponse, - ListOrganizationsByUserRequest, - ListOrganizationsByUserResponse, - GetOrganizationRequest, - GetOrganizationResponse, - GetOrganizationNamespaceAvailabilityRequest, - GetOrganizationNamespaceAvailabilityResponse, - GetRobotAPIKeysRequest, - GetRobotAPIKeysResponse, - UpdateOrganizationRequest, - UpdateOrganizationResponse, - DeleteOrganizationRequest, - DeleteOrganizationResponse, - ListOrganizationMembersRequest, - ListOrganizationMembersResponse, - CreateOrganizationInviteRequest, - CreateOrganizationInviteResponse, - UpdateOrganizationInviteAuthorizationsRequest, - UpdateOrganizationInviteAuthorizationsResponse, - DeleteOrganizationMemberRequest, - DeleteOrganizationMemberResponse, - DeleteOrganizationInviteRequest, - DeleteOrganizationInviteResponse, - ResendOrganizationInviteRequest, - ResendOrganizationInviteResponse, - CreateLocationRequest, - CreateLocationResponse, - GetLocationRequest, - GetLocationResponse, - UpdateLocationRequest, - UpdateLocationResponse, - Organization, - Location, - LogEntry as LogEntryPB, - Robot, - DeleteLocationRequest, - DeleteLocationResponse, - ListLocationsRequest, - ListLocationsResponse, - ShareLocationRequest, - ShareLocationResponse, - UnshareLocationRequest, - UnshareLocationResponse, - LocationAuthRequest, - LocationAuthResponse, - CreateLocationSecretRequest, - CreateLocationSecretResponse, - DeleteLocationSecretRequest, - DeleteLocationSecretResponse, - GetRobotRequest, - GetRobotResponse, - GetRoverRentalRobotsRequest, - GetRoverRentalRobotsResponse, - GetRobotPartsRequest, - GetRobotPartsResponse, - GetRobotPartRequest, - GetRobotPartResponse, - GetRobotPartLogsRequest, - GetRobotPartLogsResponse, - TailRobotPartLogsRequest, - TailRobotPartLogsResponse, - GetRobotPartHistoryRequest, - GetRobotPartHistoryResponse, - UpdateRobotPartRequest, - UpdateRobotPartResponse, - NewRobotPartRequest, - NewRobotPartResponse, - DeleteRobotPartRequest, - DeleteRobotPartResponse, - MarkPartAsMainRequest, - MarkPartAsMainResponse, - MarkPartForRestartRequest, - MarkPartForRestartResponse, - CreateRobotPartSecretRequest, - CreateRobotPartSecretResponse, - DeleteRobotPartSecretRequest, - DeleteRobotPartSecretResponse, - ListRobotsRequest, - ListRobotsResponse, - NewRobotRequest, - NewRobotResponse, - UpdateRobotRequest, - UpdateRobotResponse, - DeleteRobotRequest, - DeleteRobotResponse, - ListFragmentsRequest, - ListFragmentsResponse, - GetFragmentRequest, - GetFragmentResponse, - CreateFragmentRequest, - CreateFragmentResponse, - UpdateFragmentRequest, - UpdateFragmentResponse, - DeleteFragmentRequest, - DeleteFragmentResponse, - AddRoleRequest, - AddRoleResponse, - RemoveRoleRequest, - RemoveRoleResponse, - ChangeRoleRequest, - ChangeRoleResponse, - ListAuthorizationsRequest, - ListAuthorizationsResponse, - CheckPermissionsRequest, - CheckPermissionsResponse, - CreateModuleRequest, - CreateModuleResponse, - UpdateModuleRequest, - UpdateModuleResponse, - UploadModuleFileRequest, - UploadModuleFileResponse, - GetModuleRequest, - GetModuleResponse, - ListModulesRequest, - ListModulesResponse, -) +from viam.utils import datetime_to_timestamp, dict_to_struct, value_to_primitive class MockData(DataServiceBase): @@ -234,9 +246,6 @@ async def BinaryDataByFilter(self, stream: Stream[BinaryDataByFilterRequest, Bin async def BinaryDataByIDs(self, stream: Stream[BinaryDataByIDsRequest, BinaryDataByIDsResponse]) -> None: pass - async def DeleteTabularDataByFilter(self, stream: Stream[DeleteTabularDataByFilterRequest, DeleteTabularDataByFilterResponse]) -> None: - pass - async def DeleteTabularData(self, stream: Stream[DeleteTabularDataRequest, DeleteTabularDataResponse]) -> None: pass @@ -284,6 +293,16 @@ async def GetDatabaseConnection(self, stream: Stream[GetDatabaseConnectionReques async def ConfigureDatabaseUser(self, stream: Stream[ConfigureDatabaseUserRequest, ConfigureDatabaseUserResponse]) -> None: pass + async def AddBinaryDataToDatasetByIDs( + self, stream: Stream[AddBinaryDataToDatasetByIDsRequest, AddBinaryDataToDatasetByIDsResponse] + ) -> None: + pass + + async def RemoveBinaryDataFromDatasetByIDs( + self, stream: Stream[RemoveBinaryDataFromDatasetByIDsRequest, RemoveBinaryDataFromDatasetByIDsResponse] + ) -> None: + pass + class MockDataSync(DataSyncServiceBase): async def DataCaptureUpload(self, stream: Stream[DataCaptureUploadRequest, DataCaptureUploadResponse]) -> None: @@ -521,6 +540,20 @@ async def CreateKey(self, stream: Stream[CreateKeyRequest, CreateKeyResponse]) - async def GetRobotAPIKeys(self, stream: Stream[GetRobotAPIKeysRequest, GetRobotAPIKeysResponse]) -> None: pass + async def DeleteKey(self, stream: Stream[DeleteKeyRequest, DeleteKeyResponse]) -> None: + pass + + async def ListKeys(self, stream: Stream[ListKeysRequest, ListKeysResponse]) -> None: + pass + + async def RotateKey(self, stream: Stream[RotateKeyRequest, RotateKeyResponse]) -> None: + pass + + async def CreateKeyFromExistingKeyAuthorizations( + self, stream: Stream[CreateKeyFromExistingKeyAuthorizationsRequest, CreateKeyFromExistingKeyAuthorizationsResponse] + ) -> None: + pass + async def main(*, host: str = "127.0.0.1", port: int = 9092) -> None: server = Server([MockData(), MockDataSync(), MockApp()]) diff --git a/src/viam/components/board/service.py b/src/viam/components/board/service.py index 5cf409b20..e2a0e8d0e 100644 --- a/src/viam/components/board/service.py +++ b/src/viam/components/board/service.py @@ -1,6 +1,6 @@ from grpclib.server import Stream -from viam.errors import ResourceNotFoundError +from viam.errors import ResourceNotFoundError, MethodNotImplementedError from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse from viam.proto.component.board import ( BoardServiceBase, @@ -24,6 +24,8 @@ SetPWMResponse, StatusRequest, StatusResponse, + WriteAnalogRequest, + WriteAnalogResponse, ) from viam.resource.rpc_service_base import ResourceRPCServiceBase from viam.utils import dict_to_struct, struct_to_dict @@ -175,6 +177,9 @@ async def SetPowerMode(self, stream: Stream[SetPowerModeRequest, SetPowerModeRes response = SetPowerModeResponse() await stream.send_message(response) + async def WriteAnalog(self, stream: Stream[WriteAnalogRequest, WriteAnalogResponse]) -> None: + raise MethodNotImplementedError("WriteAnalog") + async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: request = await stream.recv_message() assert request is not None diff --git a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py index 0876d4d28..958fd0064 100644 --- a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +++ b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py @@ -7,41 +7,45 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!app/cloudslam/v1/cloud_slam.proto\x12\x15viam.app.cloudslam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xc6\x02\n\x1aStartMappingSessionRequest\x128\n\x0bslam_config\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\nslamConfig\x12!\n\x0cslam_version\x18\x02 \x01(\tR\x0bslamVersion\x12\x19\n\x08map_name\x18\x03 \x01(\tR\x07mapName\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x05 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x06 \x01(\tR\x07robotId\x12.\n\x13viam_server_version\x18\x07 \x01(\tR\x11viamServerVersion\x12\x1b\n\tis_online\x18\x08 \x01(\x08R\x08isOnline"<\n\x1bStartMappingSessionResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"D\n\'GetActiveMappingSessionsForRobotRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"I\n(GetActiveMappingSessionsForRobotResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"C\n"GetMappingSessionPointCloudRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"h\n#GetMappingSessionPointCloudResponse\x12\x17\n\x07map_url\x18\x01 \x01(\tR\x06mapUrl\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"f\n\x1aListMappingSessionsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId"_\n\x1bListMappingSessionsResponse\x12@\n\x07session\x18\x01 \x03(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x07session":\n\x19StopMappingSessionRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"U\n\x1aStopMappingSessionResponse\x12\x1d\n\npackage_id\x18\x01 \x01(\tR\tpackageId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"E\n$GetMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"z\n%GetMappingSessionMetadataByIDResponse\x12Q\n\x10session_metadata\x18\x01 \x01(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x0fsessionMetadata"\xd8\x01\n\'UpdateMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId\x12\x1d\n\nend_status\x18\x02 \x01(\tR\tendStatus\x12R\n\x18time_cloud_run_job_ended\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12\x1b\n\terror_msg\x18\x04 \x01(\tR\x08errorMsg"*\n(UpdateMappingSessionMetadataByIDResponse"\x93\x05\n\x0fMappingMetadata\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x03 \x01(\tR\x07robotId\x12L\n\x14time_start_submitted\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x12timeStartSubmitted\x12V\n\x1atime_cloud_run_job_started\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x16timeCloudRunJobStarted\x12H\n\x12time_end_submitted\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10timeEndSubmitted\x12R\n\x18time_cloud_run_job_ended\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12\x1d\n\nend_status\x18\x08 \x01(\tR\tendStatus\x12\'\n\x10cloud_run_job_id\x18\t \x01(\tR\rcloudRunJobId\x12.\n\x13viam_server_version\x18\n \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x0b \x01(\tR\x07mapName\x12!\n\x0cslam_version\x18\x0c \x01(\tR\x0bslamVersion\x12\x16\n\x06config\x18\r \x01(\tR\x06config\x12\x1b\n\terror_msg\x18\x0e \x01(\tR\x08errorMsg2\x89\x08\n\x10CloudSLAMService\x12|\n\x13StartMappingSession\x121.viam.app.cloudslam.v1.StartMappingSessionRequest\x1a2.viam.app.cloudslam.v1.StartMappingSessionResponse\x12\xa3\x01\n GetActiveMappingSessionsForRobot\x12>.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotRequest\x1a?.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotResponse\x12\x94\x01\n\x1bGetMappingSessionPointCloud\x129.viam.app.cloudslam.v1.GetMappingSessionPointCloudRequest\x1a:.viam.app.cloudslam.v1.GetMappingSessionPointCloudResponse\x12|\n\x13ListMappingSessions\x121.viam.app.cloudslam.v1.ListMappingSessionsRequest\x1a2.viam.app.cloudslam.v1.ListMappingSessionsResponse\x12y\n\x12StopMappingSession\x120.viam.app.cloudslam.v1.StopMappingSessionRequest\x1a1.viam.app.cloudslam.v1.StopMappingSessionResponse\x12\x9a\x01\n\x1dGetMappingSessionMetadataByID\x12;.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDRequest\x1a<.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDResponse\x12\xa3\x01\n UpdateMappingSessionMetadataByID\x12>.viam.app.cloudslam.v1.UpdateMappingSessionMetadataByIDRequest\x1a?.viam.app.cloudslam.v1.UpdateMappingSessionMetadataByIDResponseB"Z go.viam.com/api/app/cloudslam/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!app/cloudslam/v1/cloud_slam.proto\x12\x15viam.app.cloudslam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xfe\x03\n\x1aStartMappingSessionRequest\x12!\n\x0cslam_version\x18\x01 \x01(\tR\x0bslamVersion\x12.\n\x13viam_server_version\x18\x02 \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x03 \x01(\tR\x07mapName\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x05 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x06 \x01(\tR\x07robotId\x12Q\n\x10capture_interval\x18\x07 \x01(\x0b2&.viam.app.cloudslam.v1.CaptureIntervalR\x0fcaptureInterval\x12;\n\x07sensors\x18\x08 \x03(\x0b2!.viam.app.cloudslam.v1.SensorInfoR\x07sensors\x12K\n\x15slam_algorithm_params\x18\n \x01(\x0b2\x17.google.protobuf.StructR\x13slamAlgorithmParams\x120\n\x14existing_map_version\x18\x0b \x01(\tR\x12existingMapVersion"\x80\x01\n\nSensorInfo\x122\n\x15source_component_name\x18\x01 \x01(\tR\x13sourceComponentName\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12*\n\x11data_frequency_hz\x18\x03 \x01(\tR\x0fdataFrequencyHz"\x83\x01\n\x0fCaptureInterval\x129\n\nstart_time\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endTime"<\n\x1bStartMappingSessionResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"D\n\'GetActiveMappingSessionsForRobotRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"I\n(GetActiveMappingSessionsForRobotResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"C\n"GetMappingSessionPointCloudRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"h\n#GetMappingSessionPointCloudResponse\x12\x17\n\x07map_url\x18\x01 \x01(\tR\x06mapUrl\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"f\n\x1aListMappingSessionsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId"_\n\x1bListMappingSessionsResponse\x12@\n\x07session\x18\x01 \x03(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x07session":\n\x19StopMappingSessionRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"U\n\x1aStopMappingSessionResponse\x12\x1d\n\npackage_id\x18\x01 \x01(\tR\tpackageId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"E\n$GetMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"z\n%GetMappingSessionMetadataByIDResponse\x12Q\n\x10session_metadata\x18\x01 \x01(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x0fsessionMetadata"\xd8\x01\n\'UpdateMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId\x12\x1d\n\nend_status\x18\x02 \x01(\tR\tendStatus\x12R\n\x18time_cloud_run_job_ended\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12\x1b\n\terror_msg\x18\x04 \x01(\tR\x08errorMsg"*\n(UpdateMappingSessionMetadataByIDResponse"\x93\x05\n\x0fMappingMetadata\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x03 \x01(\tR\x07robotId\x12L\n\x14time_start_submitted\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x12timeStartSubmitted\x12V\n\x1atime_cloud_run_job_started\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x16timeCloudRunJobStarted\x12H\n\x12time_end_submitted\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10timeEndSubmitted\x12R\n\x18time_cloud_run_job_ended\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12\x1d\n\nend_status\x18\x08 \x01(\tR\tendStatus\x12\'\n\x10cloud_run_job_id\x18\t \x01(\tR\rcloudRunJobId\x12.\n\x13viam_server_version\x18\n \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x0b \x01(\tR\x07mapName\x12!\n\x0cslam_version\x18\x0c \x01(\tR\x0bslamVersion\x12\x16\n\x06config\x18\r \x01(\tR\x06config\x12\x1b\n\terror_msg\x18\x0e \x01(\tR\x08errorMsg2\x89\x08\n\x10CloudSLAMService\x12|\n\x13StartMappingSession\x121.viam.app.cloudslam.v1.StartMappingSessionRequest\x1a2.viam.app.cloudslam.v1.StartMappingSessionResponse\x12\xa3\x01\n GetActiveMappingSessionsForRobot\x12>.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotRequest\x1a?.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotResponse\x12\x94\x01\n\x1bGetMappingSessionPointCloud\x129.viam.app.cloudslam.v1.GetMappingSessionPointCloudRequest\x1a:.viam.app.cloudslam.v1.GetMappingSessionPointCloudResponse\x12|\n\x13ListMappingSessions\x121.viam.app.cloudslam.v1.ListMappingSessionsRequest\x1a2.viam.app.cloudslam.v1.ListMappingSessionsResponse\x12y\n\x12StopMappingSession\x120.viam.app.cloudslam.v1.StopMappingSessionRequest\x1a1.viam.app.cloudslam.v1.StopMappingSessionResponse\x12\x9a\x01\n\x1dGetMappingSessionMetadataByID\x12;.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDRequest\x1a<.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDResponse\x12\xa3\x01\n UpdateMappingSessionMetadataByID\x12>.viam.app.cloudslam.v1.UpdateMappingSessionMetadataByIDRequest\x1a?.viam.app.cloudslam.v1.UpdateMappingSessionMetadataByIDResponseB"Z go.viam.com/api/app/cloudslam/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.cloudslam.v1.cloud_slam_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z go.viam.com/api/app/cloudslam/v1' _STARTMAPPINGSESSIONREQUEST._serialized_start = 148 - _STARTMAPPINGSESSIONREQUEST._serialized_end = 474 - _STARTMAPPINGSESSIONRESPONSE._serialized_start = 476 - _STARTMAPPINGSESSIONRESPONSE._serialized_end = 536 - _GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST._serialized_start = 538 - _GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST._serialized_end = 606 - _GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE._serialized_start = 608 - _GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE._serialized_end = 681 - _GETMAPPINGSESSIONPOINTCLOUDREQUEST._serialized_start = 683 - _GETMAPPINGSESSIONPOINTCLOUDREQUEST._serialized_end = 750 - _GETMAPPINGSESSIONPOINTCLOUDRESPONSE._serialized_start = 752 - _GETMAPPINGSESSIONPOINTCLOUDRESPONSE._serialized_end = 856 - _LISTMAPPINGSESSIONSREQUEST._serialized_start = 858 - _LISTMAPPINGSESSIONSREQUEST._serialized_end = 960 - _LISTMAPPINGSESSIONSRESPONSE._serialized_start = 962 - _LISTMAPPINGSESSIONSRESPONSE._serialized_end = 1057 - _STOPMAPPINGSESSIONREQUEST._serialized_start = 1059 - _STOPMAPPINGSESSIONREQUEST._serialized_end = 1117 - _STOPMAPPINGSESSIONRESPONSE._serialized_start = 1119 - _STOPMAPPINGSESSIONRESPONSE._serialized_end = 1204 - _GETMAPPINGSESSIONMETADATABYIDREQUEST._serialized_start = 1206 - _GETMAPPINGSESSIONMETADATABYIDREQUEST._serialized_end = 1275 - _GETMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_start = 1277 - _GETMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_end = 1399 - _UPDATEMAPPINGSESSIONMETADATABYIDREQUEST._serialized_start = 1402 - _UPDATEMAPPINGSESSIONMETADATABYIDREQUEST._serialized_end = 1618 - _UPDATEMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_start = 1620 - _UPDATEMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_end = 1662 - _MAPPINGMETADATA._serialized_start = 1665 - _MAPPINGMETADATA._serialized_end = 2324 - _CLOUDSLAMSERVICE._serialized_start = 2327 - _CLOUDSLAMSERVICE._serialized_end = 3360 \ No newline at end of file + _STARTMAPPINGSESSIONREQUEST._serialized_end = 658 + _SENSORINFO._serialized_start = 661 + _SENSORINFO._serialized_end = 789 + _CAPTUREINTERVAL._serialized_start = 792 + _CAPTUREINTERVAL._serialized_end = 923 + _STARTMAPPINGSESSIONRESPONSE._serialized_start = 925 + _STARTMAPPINGSESSIONRESPONSE._serialized_end = 985 + _GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST._serialized_start = 987 + _GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST._serialized_end = 1055 + _GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE._serialized_start = 1057 + _GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE._serialized_end = 1130 + _GETMAPPINGSESSIONPOINTCLOUDREQUEST._serialized_start = 1132 + _GETMAPPINGSESSIONPOINTCLOUDREQUEST._serialized_end = 1199 + _GETMAPPINGSESSIONPOINTCLOUDRESPONSE._serialized_start = 1201 + _GETMAPPINGSESSIONPOINTCLOUDRESPONSE._serialized_end = 1305 + _LISTMAPPINGSESSIONSREQUEST._serialized_start = 1307 + _LISTMAPPINGSESSIONSREQUEST._serialized_end = 1409 + _LISTMAPPINGSESSIONSRESPONSE._serialized_start = 1411 + _LISTMAPPINGSESSIONSRESPONSE._serialized_end = 1506 + _STOPMAPPINGSESSIONREQUEST._serialized_start = 1508 + _STOPMAPPINGSESSIONREQUEST._serialized_end = 1566 + _STOPMAPPINGSESSIONRESPONSE._serialized_start = 1568 + _STOPMAPPINGSESSIONRESPONSE._serialized_end = 1653 + _GETMAPPINGSESSIONMETADATABYIDREQUEST._serialized_start = 1655 + _GETMAPPINGSESSIONMETADATABYIDREQUEST._serialized_end = 1724 + _GETMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_start = 1726 + _GETMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_end = 1848 + _UPDATEMAPPINGSESSIONMETADATABYIDREQUEST._serialized_start = 1851 + _UPDATEMAPPINGSESSIONMETADATABYIDREQUEST._serialized_end = 2067 + _UPDATEMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_start = 2069 + _UPDATEMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_end = 2111 + _MAPPINGMETADATA._serialized_start = 2114 + _MAPPINGMETADATA._serialized_end = 2773 + _CLOUDSLAMSERVICE._serialized_start = 2776 + _CLOUDSLAMSERVICE._serialized_end = 3809 \ No newline at end of file diff --git a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi index 0d6a5bc34..2d198f1cd 100644 --- a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +++ b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi @@ -21,38 +21,90 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class StartMappingSessionRequest(google.protobuf.message.Message): """StartMappingSession""" DESCRIPTOR: google.protobuf.descriptor.Descriptor - SLAM_CONFIG_FIELD_NUMBER: builtins.int SLAM_VERSION_FIELD_NUMBER: builtins.int + VIAM_SERVER_VERSION_FIELD_NUMBER: builtins.int MAP_NAME_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int LOCATION_ID_FIELD_NUMBER: builtins.int ROBOT_ID_FIELD_NUMBER: builtins.int - VIAM_SERVER_VERSION_FIELD_NUMBER: builtins.int - IS_ONLINE_FIELD_NUMBER: builtins.int - - @property - def slam_config(self) -> google.protobuf.struct_pb2.Struct: - """The given config contains details such as sensor, map package and algorithm-specific fields required to run slam.""" + CAPTURE_INTERVAL_FIELD_NUMBER: builtins.int + SENSORS_FIELD_NUMBER: builtins.int + SLAM_ALGORITHM_PARAMS_FIELD_NUMBER: builtins.int + EXISTING_MAP_VERSION_FIELD_NUMBER: builtins.int slam_version: builtins.str 'Version to use for slam, defaults stable' + viam_server_version: builtins.str + 'Version to use for viam, defaults stable' map_name: builtins.str organization_id: builtins.str location_id: builtins.str robot_id: builtins.str - viam_server_version: builtins.str - 'Version to use for viam, defaults stable' - is_online: builtins.bool - def __init__(self, *, slam_config: google.protobuf.struct_pb2.Struct | None=..., slam_version: builtins.str=..., map_name: builtins.str=..., organization_id: builtins.str=..., location_id: builtins.str=..., robot_id: builtins.str=..., viam_server_version: builtins.str=..., is_online: builtins.bool=...) -> None: + @property + def capture_interval(self) -> global___CaptureInterval: ... - def HasField(self, field_name: typing_extensions.Literal['slam_config', b'slam_config']) -> builtins.bool: + @property + def sensors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SensorInfo]: ... - def ClearField(self, field_name: typing_extensions.Literal['is_online', b'is_online', 'location_id', b'location_id', 'map_name', b'map_name', 'organization_id', b'organization_id', 'robot_id', b'robot_id', 'slam_config', b'slam_config', 'slam_version', b'slam_version', 'viam_server_version', b'viam_server_version']) -> None: + @property + def slam_algorithm_params(self) -> google.protobuf.struct_pb2.Struct: + ... + existing_map_version: builtins.str + + def __init__(self, *, slam_version: builtins.str=..., viam_server_version: builtins.str=..., map_name: builtins.str=..., organization_id: builtins.str=..., location_id: builtins.str=..., robot_id: builtins.str=..., capture_interval: global___CaptureInterval | None=..., sensors: collections.abc.Iterable[global___SensorInfo] | None=..., slam_algorithm_params: google.protobuf.struct_pb2.Struct | None=..., existing_map_version: builtins.str=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['capture_interval', b'capture_interval', 'slam_algorithm_params', b'slam_algorithm_params']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['capture_interval', b'capture_interval', 'existing_map_version', b'existing_map_version', 'location_id', b'location_id', 'map_name', b'map_name', 'organization_id', b'organization_id', 'robot_id', b'robot_id', 'sensors', b'sensors', 'slam_algorithm_params', b'slam_algorithm_params', 'slam_version', b'slam_version', 'viam_server_version', b'viam_server_version']) -> None: ... global___StartMappingSessionRequest = StartMappingSessionRequest +@typing_extensions.final +class SensorInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + SOURCE_COMPONENT_NAME_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + DATA_FREQUENCY_HZ_FIELD_NUMBER: builtins.int + source_component_name: builtins.str + type: builtins.str + 'type is the RDK component type' + data_frequency_hz: builtins.str + + def __init__(self, *, source_component_name: builtins.str=..., type: builtins.str=..., data_frequency_hz: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['data_frequency_hz', b'data_frequency_hz', 'source_component_name', b'source_component_name', 'type', b'type']) -> None: + ... +global___SensorInfo = SensorInfo + +@typing_extensions.final +class CaptureInterval(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + START_TIME_FIELD_NUMBER: builtins.int + END_TIME_FIELD_NUMBER: builtins.int + + @property + def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: + ... + + @property + def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: + """if no end_time specified cloud slam will be run using live sensors""" + + def __init__(self, *, start_time: google.protobuf.timestamp_pb2.Timestamp | None=..., end_time: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['end_time', b'end_time', 'start_time', b'start_time']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['end_time', b'end_time', 'start_time', b'start_time']) -> None: + ... +global___CaptureInterval = CaptureInterval + @typing_extensions.final class StartMappingSessionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/src/viam/gen/app/data/v1/data_grpc.py b/src/viam/gen/app/data/v1/data_grpc.py index f30fe62dc..113a4bcf2 100644 --- a/src/viam/gen/app/data/v1/data_grpc.py +++ b/src/viam/gen/app/data/v1/data_grpc.py @@ -23,10 +23,6 @@ async def BinaryDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.da async def BinaryDataByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse]') -> None: pass - @abc.abstractmethod - async def DeleteTabularDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.DeleteTabularDataByFilterRequest, app.data.v1.data_pb2.DeleteTabularDataByFilterResponse]') -> None: - pass - @abc.abstractmethod async def DeleteTabularData(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse]') -> None: pass @@ -79,8 +75,16 @@ async def GetDatabaseConnection(self, stream: 'grpclib.server.Stream[app.data.v1 async def ConfigureDatabaseUser(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse]') -> None: pass + @abc.abstractmethod + async def AddBinaryDataToDatasetByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse]') -> None: + pass + + @abc.abstractmethod + async def RemoveBinaryDataFromDatasetByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse]') -> None: + pass + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.data.v1.DataService/TabularDataByFilter': grpclib.const.Handler(self.TabularDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse), '/viam.app.data.v1.DataService/BinaryDataByFilter': grpclib.const.Handler(self.BinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse), '/viam.app.data.v1.DataService/BinaryDataByIDs': grpclib.const.Handler(self.BinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse), '/viam.app.data.v1.DataService/DeleteTabularDataByFilter': grpclib.const.Handler(self.DeleteTabularDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteTabularDataByFilterRequest, app.data.v1.data_pb2.DeleteTabularDataByFilterResponse), '/viam.app.data.v1.DataService/DeleteTabularData': grpclib.const.Handler(self.DeleteTabularData, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse), '/viam.app.data.v1.DataService/DeleteBinaryDataByFilter': grpclib.const.Handler(self.DeleteBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/DeleteBinaryDataByIDs': grpclib.const.Handler(self.DeleteBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs': grpclib.const.Handler(self.AddTagsToBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/AddTagsToBinaryDataByFilter': grpclib.const.Handler(self.AddTagsToBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs': grpclib.const.Handler(self.RemoveTagsFromBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByFilter': grpclib.const.Handler(self.RemoveTagsFromBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/TagsByFilter': grpclib.const.Handler(self.TagsByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse), '/viam.app.data.v1.DataService/AddBoundingBoxToImageByID': grpclib.const.Handler(self.AddBoundingBoxToImageByID, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse), '/viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID': grpclib.const.Handler(self.RemoveBoundingBoxFromImageByID, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse), '/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter': grpclib.const.Handler(self.BoundingBoxLabelsByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse), '/viam.app.data.v1.DataService/GetDatabaseConnection': grpclib.const.Handler(self.GetDatabaseConnection, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse), '/viam.app.data.v1.DataService/ConfigureDatabaseUser': grpclib.const.Handler(self.ConfigureDatabaseUser, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse)} + return {'/viam.app.data.v1.DataService/TabularDataByFilter': grpclib.const.Handler(self.TabularDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse), '/viam.app.data.v1.DataService/BinaryDataByFilter': grpclib.const.Handler(self.BinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse), '/viam.app.data.v1.DataService/BinaryDataByIDs': grpclib.const.Handler(self.BinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse), '/viam.app.data.v1.DataService/DeleteTabularData': grpclib.const.Handler(self.DeleteTabularData, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse), '/viam.app.data.v1.DataService/DeleteBinaryDataByFilter': grpclib.const.Handler(self.DeleteBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/DeleteBinaryDataByIDs': grpclib.const.Handler(self.DeleteBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs': grpclib.const.Handler(self.AddTagsToBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/AddTagsToBinaryDataByFilter': grpclib.const.Handler(self.AddTagsToBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs': grpclib.const.Handler(self.RemoveTagsFromBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByFilter': grpclib.const.Handler(self.RemoveTagsFromBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/TagsByFilter': grpclib.const.Handler(self.TagsByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse), '/viam.app.data.v1.DataService/AddBoundingBoxToImageByID': grpclib.const.Handler(self.AddBoundingBoxToImageByID, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse), '/viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID': grpclib.const.Handler(self.RemoveBoundingBoxFromImageByID, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse), '/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter': grpclib.const.Handler(self.BoundingBoxLabelsByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse), '/viam.app.data.v1.DataService/GetDatabaseConnection': grpclib.const.Handler(self.GetDatabaseConnection, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse), '/viam.app.data.v1.DataService/ConfigureDatabaseUser': grpclib.const.Handler(self.ConfigureDatabaseUser, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse), '/viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs': grpclib.const.Handler(self.AddBinaryDataToDatasetByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse), '/viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs': grpclib.const.Handler(self.RemoveBinaryDataFromDatasetByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse)} class DataServiceStub: @@ -88,7 +92,6 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.TabularDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/TabularDataByFilter', app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse) self.BinaryDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/BinaryDataByFilter', app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse) self.BinaryDataByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/BinaryDataByIDs', app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse) - self.DeleteTabularDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteTabularDataByFilter', app.data.v1.data_pb2.DeleteTabularDataByFilterRequest, app.data.v1.data_pb2.DeleteTabularDataByFilterResponse) self.DeleteTabularData = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteTabularData', app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse) self.DeleteBinaryDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteBinaryDataByFilter', app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse) self.DeleteBinaryDataByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteBinaryDataByIDs', app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse) @@ -102,3 +105,5 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.BoundingBoxLabelsByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter', app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse) self.GetDatabaseConnection = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/GetDatabaseConnection', app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse) self.ConfigureDatabaseUser = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/ConfigureDatabaseUser', app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse) + self.AddBinaryDataToDatasetByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs', app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse) + self.RemoveBinaryDataFromDatasetByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs', app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse) \ No newline at end of file diff --git a/src/viam/gen/app/data/v1/data_pb2.py b/src/viam/gen/app/data/v1/data_pb2.py index f8ce296cf..ce58c9d20 100644 --- a/src/viam/gen/app/data/v1/data_pb2.py +++ b/src/viam/gen/app/data/v1/data_pb2.py @@ -7,7 +7,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\x8b\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabelsJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb1\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData"\xe3\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes"\xe5\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"m\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId"\x8a\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\xdb\x01\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized"D\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes"\xfd\x02\n\x0eBinaryMetadata\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations"T\n DeleteTabularDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"V\n!DeleteTabularDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"i\n\x1cDeleteBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x80\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\x85\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xa8\x02\n AddBoundingBoxToImageByIDRequest\x127\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\x88\x01\n%RemoveBoundingBoxFromImageByIDRequest\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId";\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x032\x84\x11\n\x0bDataService\x12r\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12\x84\x01\n\x19DeleteTabularDataByFilter\x122.viam.app.data.v1.DeleteTabularDataByFilterRequest\x1a3.viam.app.data.v1.DeleteTabularDataByFilterResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb1\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData"\xe3\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes"\xe5\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"m\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId"\x8a\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\xdb\x01\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized"D\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes"\x9e\x03\n\x0eBinaryMetadata\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"i\n\x1cDeleteBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x80\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\x85\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xa8\x02\n AddBoundingBoxToImageByIDRequest\x127\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\x88\x01\n%RemoveBoundingBoxFromImageByIDRequest\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId";\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname"~\n"AddBinaryDataToDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\x83\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x032\xa6\x12\n\x0bDataService\x12r\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.data.v1.data_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -15,101 +15,105 @@ DESCRIPTOR._serialized_options = b'Z\x1bgo.viam.com/api/app/data/v1' _CAPTUREMETADATA_METHODPARAMETERSENTRY._options = None _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_options = b'8\x01' - _ORDER._serialized_start = 6335 - _ORDER._serialized_end = 6408 - _TAGSFILTERTYPE._serialized_start = 6411 - _TAGSFILTERTYPE._serialized_end = 6555 + _ORDER._serialized_start = 6570 + _ORDER._serialized_end = 6643 + _TAGSFILTERTYPE._serialized_start = 6646 + _TAGSFILTERTYPE._serialized_end = 6790 _DATAREQUEST._serialized_start = 135 _DATAREQUEST._serialized_end = 296 _FILTER._serialized_start = 299 - _FILTER._serialized_end = 822 - _TAGSFILTER._serialized_start = 824 - _TAGSFILTER._serialized_end = 910 - _CAPTUREMETADATA._serialized_start = 913 - _CAPTUREMETADATA._serialized_end = 1492 - _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_start = 1380 - _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_end = 1469 - _CAPTUREINTERVAL._serialized_start = 1494 - _CAPTUREINTERVAL._serialized_end = 1607 - _TABULARDATABYFILTERREQUEST._serialized_start = 1610 - _TABULARDATABYFILTERREQUEST._serialized_end = 1787 - _TABULARDATABYFILTERRESPONSE._serialized_start = 1790 - _TABULARDATABYFILTERRESPONSE._serialized_end = 2017 - _TABULARDATA._serialized_start = 2020 - _TABULARDATA._serialized_end = 2249 - _BINARYDATA._serialized_start = 2251 - _BINARYDATA._serialized_end = 2349 - _BINARYDATABYFILTERREQUEST._serialized_start = 2352 - _BINARYDATABYFILTERREQUEST._serialized_end = 2567 - _BINARYDATABYFILTERRESPONSE._serialized_start = 2570 - _BINARYDATABYFILTERRESPONSE._serialized_end = 2732 - _BINARYID._serialized_start = 2734 - _BINARYID._serialized_end = 2843 - _BINARYDATABYIDSREQUEST._serialized_start = 2846 - _BINARYDATABYIDSREQUEST._serialized_end = 2984 - _BINARYDATABYIDSRESPONSE._serialized_start = 2986 - _BINARYDATABYIDSRESPONSE._serialized_end = 3083 - _BOUNDINGBOX._serialized_start = 3086 - _BOUNDINGBOX._serialized_end = 3305 - _ANNOTATIONS._serialized_start = 3307 - _ANNOTATIONS._serialized_end = 3375 - _BINARYMETADATA._serialized_start = 3378 - _BINARYMETADATA._serialized_end = 3759 - _DELETETABULARDATABYFILTERREQUEST._serialized_start = 3761 - _DELETETABULARDATABYFILTERREQUEST._serialized_end = 3845 - _DELETETABULARDATABYFILTERRESPONSE._serialized_start = 3847 - _DELETETABULARDATABYFILTERRESPONSE._serialized_end = 3933 - _DELETETABULARDATAREQUEST._serialized_start = 3935 - _DELETETABULARDATAREQUEST._serialized_end = 4055 - _DELETETABULARDATARESPONSE._serialized_start = 4057 - _DELETETABULARDATARESPONSE._serialized_end = 4121 - _DELETEBINARYDATABYFILTERREQUEST._serialized_start = 4124 - _DELETEBINARYDATABYFILTERREQUEST._serialized_end = 4259 - _DELETEBINARYDATABYFILTERRESPONSE._serialized_start = 4261 - _DELETEBINARYDATABYFILTERRESPONSE._serialized_end = 4346 - _DELETEBINARYDATABYIDSREQUEST._serialized_start = 4348 - _DELETEBINARYDATABYIDSREQUEST._serialized_end = 4453 - _DELETEBINARYDATABYIDSRESPONSE._serialized_start = 4455 - _DELETEBINARYDATABYIDSRESPONSE._serialized_end = 4537 - _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_start = 4540 - _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_end = 4668 - _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_start = 4670 - _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_end = 4704 - _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_start = 4706 - _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_end = 4812 - _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_start = 4814 - _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_end = 4851 - _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_start = 4854 - _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_end = 4987 - _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_start = 4989 - _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_end = 5065 - _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_start = 5067 - _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_end = 5178 - _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_start = 5180 - _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_end = 5259 - _TAGSBYFILTERREQUEST._serialized_start = 5261 - _TAGSBYFILTERREQUEST._serialized_end = 5332 - _TAGSBYFILTERRESPONSE._serialized_start = 5334 - _TAGSBYFILTERRESPONSE._serialized_end = 5376 - _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_start = 5379 - _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_end = 5675 - _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_start = 5677 - _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_end = 5737 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_start = 5740 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_end = 5876 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_start = 5878 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_end = 5918 - _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_start = 5920 - _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_end = 6004 - _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_start = 6006 - _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_end = 6065 - _CONFIGUREDATABASEUSERREQUEST._serialized_start = 6067 - _CONFIGUREDATABASEUSERREQUEST._serialized_end = 6166 - _CONFIGUREDATABASEUSERRESPONSE._serialized_start = 6168 - _CONFIGUREDATABASEUSERRESPONSE._serialized_end = 6199 - _GETDATABASECONNECTIONREQUEST._serialized_start = 6201 - _GETDATABASECONNECTIONREQUEST._serialized_end = 6272 - _GETDATABASECONNECTIONRESPONSE._serialized_start = 6274 - _GETDATABASECONNECTIONRESPONSE._serialized_end = 6333 - _DATASERVICE._serialized_start = 6558 - _DATASERVICE._serialized_end = 8738 + _FILTER._serialized_end = 853 + _TAGSFILTER._serialized_start = 855 + _TAGSFILTER._serialized_end = 941 + _CAPTUREMETADATA._serialized_start = 944 + _CAPTUREMETADATA._serialized_end = 1523 + _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_start = 1411 + _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_end = 1500 + _CAPTUREINTERVAL._serialized_start = 1525 + _CAPTUREINTERVAL._serialized_end = 1638 + _TABULARDATABYFILTERREQUEST._serialized_start = 1641 + _TABULARDATABYFILTERREQUEST._serialized_end = 1818 + _TABULARDATABYFILTERRESPONSE._serialized_start = 1821 + _TABULARDATABYFILTERRESPONSE._serialized_end = 2048 + _TABULARDATA._serialized_start = 2051 + _TABULARDATA._serialized_end = 2280 + _BINARYDATA._serialized_start = 2282 + _BINARYDATA._serialized_end = 2380 + _BINARYDATABYFILTERREQUEST._serialized_start = 2383 + _BINARYDATABYFILTERREQUEST._serialized_end = 2598 + _BINARYDATABYFILTERRESPONSE._serialized_start = 2601 + _BINARYDATABYFILTERRESPONSE._serialized_end = 2763 + _BINARYID._serialized_start = 2765 + _BINARYID._serialized_end = 2874 + _BINARYDATABYIDSREQUEST._serialized_start = 2877 + _BINARYDATABYIDSREQUEST._serialized_end = 3015 + _BINARYDATABYIDSRESPONSE._serialized_start = 3017 + _BINARYDATABYIDSRESPONSE._serialized_end = 3114 + _BOUNDINGBOX._serialized_start = 3117 + _BOUNDINGBOX._serialized_end = 3336 + _ANNOTATIONS._serialized_start = 3338 + _ANNOTATIONS._serialized_end = 3406 + _BINARYMETADATA._serialized_start = 3409 + _BINARYMETADATA._serialized_end = 3823 + _DELETETABULARDATAREQUEST._serialized_start = 3825 + _DELETETABULARDATAREQUEST._serialized_end = 3945 + _DELETETABULARDATARESPONSE._serialized_start = 3947 + _DELETETABULARDATARESPONSE._serialized_end = 4011 + _DELETEBINARYDATABYFILTERREQUEST._serialized_start = 4014 + _DELETEBINARYDATABYFILTERREQUEST._serialized_end = 4149 + _DELETEBINARYDATABYFILTERRESPONSE._serialized_start = 4151 + _DELETEBINARYDATABYFILTERRESPONSE._serialized_end = 4236 + _DELETEBINARYDATABYIDSREQUEST._serialized_start = 4238 + _DELETEBINARYDATABYIDSREQUEST._serialized_end = 4343 + _DELETEBINARYDATABYIDSRESPONSE._serialized_start = 4345 + _DELETEBINARYDATABYIDSRESPONSE._serialized_end = 4427 + _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_start = 4430 + _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_end = 4558 + _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_start = 4560 + _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_end = 4594 + _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_start = 4596 + _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_end = 4702 + _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_start = 4704 + _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_end = 4741 + _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_start = 4744 + _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_end = 4877 + _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_start = 4879 + _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_end = 4955 + _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_start = 4957 + _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_end = 5068 + _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_start = 5070 + _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_end = 5149 + _TAGSBYFILTERREQUEST._serialized_start = 5151 + _TAGSBYFILTERREQUEST._serialized_end = 5222 + _TAGSBYFILTERRESPONSE._serialized_start = 5224 + _TAGSBYFILTERRESPONSE._serialized_end = 5266 + _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_start = 5269 + _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_end = 5565 + _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_start = 5567 + _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_end = 5627 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_start = 5630 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_end = 5766 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_start = 5768 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_end = 5808 + _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_start = 5810 + _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_end = 5894 + _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_start = 5896 + _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_end = 5955 + _CONFIGUREDATABASEUSERREQUEST._serialized_start = 5957 + _CONFIGUREDATABASEUSERREQUEST._serialized_end = 6056 + _CONFIGUREDATABASEUSERRESPONSE._serialized_start = 6058 + _CONFIGUREDATABASEUSERRESPONSE._serialized_end = 6089 + _GETDATABASECONNECTIONREQUEST._serialized_start = 6091 + _GETDATABASECONNECTIONREQUEST._serialized_end = 6162 + _GETDATABASECONNECTIONRESPONSE._serialized_start = 6164 + _GETDATABASECONNECTIONRESPONSE._serialized_end = 6223 + _ADDBINARYDATATODATASETBYIDSREQUEST._serialized_start = 6225 + _ADDBINARYDATATODATASETBYIDSREQUEST._serialized_end = 6351 + _ADDBINARYDATATODATASETBYIDSRESPONSE._serialized_start = 6353 + _ADDBINARYDATATODATASETBYIDSRESPONSE._serialized_end = 6390 + _REMOVEBINARYDATAFROMDATASETBYIDSREQUEST._serialized_start = 6393 + _REMOVEBINARYDATAFROMDATASETBYIDSREQUEST._serialized_end = 6524 + _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_start = 6526 + _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_end = 6568 + _DATASERVICE._serialized_start = 6793 + _DATASERVICE._serialized_end = 9135 \ No newline at end of file diff --git a/src/viam/gen/app/data/v1/data_pb2.pyi b/src/viam/gen/app/data/v1/data_pb2.pyi index 5a25b069e..91ce4a8f4 100644 --- a/src/viam/gen/app/data/v1/data_pb2.pyi +++ b/src/viam/gen/app/data/v1/data_pb2.pyi @@ -44,21 +44,21 @@ class _TagsFilterTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper. DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor TAGS_FILTER_TYPE_UNSPECIFIED: _TagsFilterType.ValueType TAGS_FILTER_TYPE_MATCH_BY_OR: _TagsFilterType.ValueType - 'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter' + 'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter.' TAGS_FILTER_TYPE_TAGGED: _TagsFilterType.ValueType - 'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned' + 'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned.' TAGS_FILTER_TYPE_UNTAGGED: _TagsFilterType.ValueType - 'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned' + 'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned.' class TagsFilterType(_TagsFilterType, metaclass=_TagsFilterTypeEnumTypeWrapper): - """TagsFilterType specifies how data can be filtered based on tags""" + """TagsFilterType specifies how data can be filtered based on tags.""" TAGS_FILTER_TYPE_UNSPECIFIED: TagsFilterType.ValueType TAGS_FILTER_TYPE_MATCH_BY_OR: TagsFilterType.ValueType -'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter' +'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter.' TAGS_FILTER_TYPE_TAGGED: TagsFilterType.ValueType -'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned' +'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned.' TAGS_FILTER_TYPE_UNTAGGED: TagsFilterType.ValueType -'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned' +'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned.' global___TagsFilterType = TagsFilterType @typing_extensions.final @@ -115,6 +115,7 @@ class Filter(google.protobuf.message.Message): INTERVAL_FIELD_NUMBER: builtins.int TAGS_FILTER_FIELD_NUMBER: builtins.int BBOX_LABELS_FIELD_NUMBER: builtins.int + DATASET_ID_FIELD_NUMBER: builtins.int component_name: builtins.str component_type: builtins.str method: builtins.str @@ -145,15 +146,16 @@ class Filter(google.protobuf.message.Message): @property def bbox_labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """bbox_labels are used to match documents with the specified bounding box labels (using logical OR)""" + """bbox_labels are used to match documents with the specified bounding box labels (using logical OR).""" + dataset_id: builtins.str - def __init__(self, *, component_name: builtins.str=..., component_type: builtins.str=..., method: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., part_id: builtins.str=..., location_ids: collections.abc.Iterable[builtins.str] | None=..., organization_ids: collections.abc.Iterable[builtins.str] | None=..., mime_type: collections.abc.Iterable[builtins.str] | None=..., interval: global___CaptureInterval | None=..., tags_filter: global___TagsFilter | None=..., bbox_labels: collections.abc.Iterable[builtins.str] | None=...) -> None: + def __init__(self, *, component_name: builtins.str=..., component_type: builtins.str=..., method: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., part_id: builtins.str=..., location_ids: collections.abc.Iterable[builtins.str] | None=..., organization_ids: collections.abc.Iterable[builtins.str] | None=..., mime_type: collections.abc.Iterable[builtins.str] | None=..., interval: global___CaptureInterval | None=..., tags_filter: global___TagsFilter | None=..., bbox_labels: collections.abc.Iterable[builtins.str] | None=..., dataset_id: builtins.str=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['interval', b'interval', 'tags_filter', b'tags_filter']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['bbox_labels', b'bbox_labels', 'component_name', b'component_name', 'component_type', b'component_type', 'interval', b'interval', 'location_ids', b'location_ids', 'method', b'method', 'mime_type', b'mime_type', 'organization_ids', b'organization_ids', 'part_id', b'part_id', 'part_name', b'part_name', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags_filter', b'tags_filter']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['bbox_labels', b'bbox_labels', 'component_name', b'component_name', 'component_type', b'component_type', 'dataset_id', b'dataset_id', 'interval', b'interval', 'location_ids', b'location_ids', 'method', b'method', 'mime_type', b'mime_type', 'organization_ids', b'organization_ids', 'part_id', b'part_id', 'part_name', b'part_name', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags_filter', b'tags_filter']) -> None: ... global___Filter = Filter @@ -167,7 +169,7 @@ class TagsFilter(google.protobuf.message.Message): @property def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """Tags are used to match documents if `type` is UNSPECIFIED or MATCH_BY_OR""" + """Tags are used to match documents if `type` is UNSPECIFIED or MATCH_BY_OR.""" def __init__(self, *, type: global___TagsFilterType.ValueType=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: ... @@ -178,7 +180,7 @@ global___TagsFilter = TagsFilter @typing_extensions.final class CaptureMetadata(google.protobuf.message.Message): - """CaptureMetadata contains information on the settings used for the data capture""" + """CaptureMetadata contains information on the settings used for the data capture.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -240,7 +242,7 @@ global___CaptureMetadata = CaptureMetadata @typing_extensions.final class CaptureInterval(google.protobuf.message.Message): - """CaptureInterval describes the start and end time of the capture in this file""" + """CaptureInterval describes the start and end time of the capture in this file.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor START_FIELD_NUMBER: builtins.int END_FIELD_NUMBER: builtins.int @@ -265,7 +267,7 @@ global___CaptureInterval = CaptureInterval @typing_extensions.final class TabularDataByFilterRequest(google.protobuf.message.Message): - """TabularDataByFilterRequest requests tabular data based on filter values""" + """TabularDataByFilterRequest requests tabular data based on filter values.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_REQUEST_FIELD_NUMBER: builtins.int COUNT_ONLY_FIELD_NUMBER: builtins.int @@ -289,7 +291,7 @@ global___TabularDataByFilterRequest = TabularDataByFilterRequest @typing_extensions.final class TabularDataByFilterResponse(google.protobuf.message.Message): - """TabularDataByFilterResponse provides the data and metadata of tabular data""" + """TabularDataByFilterResponse provides the data and metadata of tabular data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int DATA_FIELD_NUMBER: builtins.int @@ -317,6 +319,7 @@ global___TabularDataByFilterResponse = TabularDataByFilterResponse @typing_extensions.final class TabularData(google.protobuf.message.Message): + """TabularData contains data and metadata associated with tabular data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int METADATA_INDEX_FIELD_NUMBER: builtins.int @@ -348,6 +351,7 @@ global___TabularData = TabularData @typing_extensions.final class BinaryData(google.protobuf.message.Message): + """BinaryData contains data and metadata associated with binary data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_FIELD_NUMBER: builtins.int METADATA_FIELD_NUMBER: builtins.int @@ -369,7 +373,7 @@ global___BinaryData = BinaryData @typing_extensions.final class BinaryDataByFilterRequest(google.protobuf.message.Message): - """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data when a filter is provided""" + """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_REQUEST_FIELD_NUMBER: builtins.int INCLUDE_BINARY_FIELD_NUMBER: builtins.int @@ -395,7 +399,7 @@ global___BinaryDataByFilterRequest = BinaryDataByFilterRequest @typing_extensions.final class BinaryDataByFilterResponse(google.protobuf.message.Message): - """BinaryDataByFilterResponse provides the data and metadata of binary (image + file) data when a filter is provided""" + """BinaryDataByFilterResponse provides the data and metadata of binary (image + file) data when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int COUNT_FIELD_NUMBER: builtins.int @@ -418,6 +422,7 @@ global___BinaryDataByFilterResponse = BinaryDataByFilterResponse @typing_extensions.final class BinaryID(google.protobuf.message.Message): + """BinaryID is the unique identifier for a file that one can request to be retrieved or modified.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int @@ -435,7 +440,7 @@ global___BinaryID = BinaryID @typing_extensions.final class BinaryDataByIDsRequest(google.protobuf.message.Message): - """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data by binary ids""" + """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data by binary ids.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor INCLUDE_BINARY_FIELD_NUMBER: builtins.int BINARY_IDS_FIELD_NUMBER: builtins.int @@ -454,7 +459,7 @@ global___BinaryDataByIDsRequest = BinaryDataByIDsRequest @typing_extensions.final class BinaryDataByIDsResponse(google.protobuf.message.Message): - """BinaryDataByIDsResponse provides the data and metadata of binary (image + file) data when a filter is provided""" + """BinaryDataByIDsResponse provides the data and metadata of binary (image + file) data when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int COUNT_FIELD_NUMBER: builtins.int @@ -516,6 +521,7 @@ global___Annotations = Annotations @typing_extensions.final class BinaryMetadata(google.protobuf.message.Message): + """BinaryMetadata is the metadata associated with binary data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int CAPTURE_METADATA_FIELD_NUMBER: builtins.int @@ -525,6 +531,7 @@ class BinaryMetadata(google.protobuf.message.Message): FILE_EXT_FIELD_NUMBER: builtins.int URI_FIELD_NUMBER: builtins.int ANNOTATIONS_FIELD_NUMBER: builtins.int + DATASET_IDS_FIELD_NUMBER: builtins.int id: builtins.str @property @@ -546,49 +553,19 @@ class BinaryMetadata(google.protobuf.message.Message): def annotations(self) -> global___Annotations: ... - def __init__(self, *, id: builtins.str=..., capture_metadata: global___CaptureMetadata | None=..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=..., file_name: builtins.str=..., file_ext: builtins.str=..., uri: builtins.str=..., annotations: global___Annotations | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'file_ext', b'file_ext', 'file_name', b'file_name', 'id', b'id', 'time_received', b'time_received', 'time_requested', b'time_requested', 'uri', b'uri']) -> None: - ... -global___BinaryMetadata = BinaryMetadata - -@typing_extensions.final -class DeleteTabularDataByFilterRequest(google.protobuf.message.Message): - """DeleteTabularDataByFilterRequest deletes the data and metadata of tabular data when a filter is provided""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - FILTER_FIELD_NUMBER: builtins.int - @property - def filter(self) -> global___Filter: + def dataset_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__(self, *, filter: global___Filter | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: + def __init__(self, *, id: builtins.str=..., capture_metadata: global___CaptureMetadata | None=..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=..., file_name: builtins.str=..., file_ext: builtins.str=..., uri: builtins.str=..., annotations: global___Annotations | None=..., dataset_ids: collections.abc.Iterable[builtins.str] | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> None: - ... -global___DeleteTabularDataByFilterRequest = DeleteTabularDataByFilterRequest - -@typing_extensions.final -class DeleteTabularDataByFilterResponse(google.protobuf.message.Message): - """DeleteBinaryDataByFilterResponse returns the number of tabular datapoints deleted when a filter is provided""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - DELETED_COUNT_FIELD_NUMBER: builtins.int - deleted_count: builtins.int - - def __init__(self, *, deleted_count: builtins.int=...) -> None: + def HasField(self, field_name: typing_extensions.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['deleted_count', b'deleted_count']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'dataset_ids', b'dataset_ids', 'file_ext', b'file_ext', 'file_name', b'file_name', 'id', b'id', 'time_received', b'time_received', 'time_requested', b'time_requested', 'uri', b'uri']) -> None: ... -global___DeleteTabularDataByFilterResponse = DeleteTabularDataByFilterResponse +global___BinaryMetadata = BinaryMetadata @typing_extensions.final class DeleteTabularDataRequest(google.protobuf.message.Message): @@ -625,7 +602,7 @@ global___DeleteTabularDataResponse = DeleteTabularDataResponse @typing_extensions.final class DeleteBinaryDataByFilterRequest(google.protobuf.message.Message): - """DeleteBinaryDataByFilterRequest deletes the data and metadata of binary data when a filter is provided""" + """DeleteBinaryDataByFilterRequest deletes the data and metadata of binary data when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int @@ -647,7 +624,7 @@ global___DeleteBinaryDataByFilterRequest = DeleteBinaryDataByFilterRequest @typing_extensions.final class DeleteBinaryDataByFilterResponse(google.protobuf.message.Message): - """DeleteBinaryDataByFilterResponse returns the number of binary files deleted when a filter is provided""" + """DeleteBinaryDataByFilterResponse returns the number of binary files deleted when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int @@ -661,7 +638,7 @@ global___DeleteBinaryDataByFilterResponse = DeleteBinaryDataByFilterResponse @typing_extensions.final class DeleteBinaryDataByIDsRequest(google.protobuf.message.Message): - """DeleteBinaryDataByIDsRequest deletes the data and metadata of binary data when binary ids are provided""" + """DeleteBinaryDataByIDsRequest deletes the data and metadata of binary data when binary ids are provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int @@ -678,7 +655,7 @@ global___DeleteBinaryDataByIDsRequest = DeleteBinaryDataByIDsRequest @typing_extensions.final class DeleteBinaryDataByIDsResponse(google.protobuf.message.Message): - """DeleteBinaryDataByIDsResponse returns the number of binary files deleted when binary ids are provided""" + """DeleteBinaryDataByIDsResponse returns the number of binary files deleted when binary ids are provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int @@ -692,7 +669,7 @@ global___DeleteBinaryDataByIDsResponse = DeleteBinaryDataByIDsResponse @typing_extensions.final class AddTagsToBinaryDataByIDsRequest(google.protobuf.message.Message): - """AddTagsToBinaryDataByIDsRequest requests adding all specified tags to each of the files when binary ids are provided""" + """AddTagsToBinaryDataByIDsRequest requests adding all specified tags to each of the files when binary ids are provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @@ -722,7 +699,7 @@ global___AddTagsToBinaryDataByIDsResponse = AddTagsToBinaryDataByIDsResponse @typing_extensions.final class AddTagsToBinaryDataByFilterRequest(google.protobuf.message.Message): - """AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided""" + """AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @@ -755,7 +732,7 @@ global___AddTagsToBinaryDataByFilterResponse = AddTagsToBinaryDataByFilterRespon @typing_extensions.final class RemoveTagsFromBinaryDataByIDsRequest(google.protobuf.message.Message): - """RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided""" + """RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @@ -791,7 +768,7 @@ global___RemoveTagsFromBinaryDataByIDsResponse = RemoveTagsFromBinaryDataByIDsRe @typing_extensions.final class RemoveTagsFromBinaryDataByFilterRequest(google.protobuf.message.Message): - """RemoveTagsFromBinaryDataByFilterRequest requests removing the given tags value from each file when a filter is provided""" + """RemoveTagsFromBinaryDataByFilterRequest requests removing the given tags value from each file when a filter is provided.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @@ -816,7 +793,7 @@ global___RemoveTagsFromBinaryDataByFilterRequest = RemoveTagsFromBinaryDataByFil @typing_extensions.final class RemoveTagsFromBinaryDataByFilterResponse(google.protobuf.message.Message): - """RemoveTagsFromBinaryDataByFilterResponse returns the number of binary files which had tags removed""" + """RemoveTagsFromBinaryDataByFilterResponse returns the number of binary files which had tags removed.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int @@ -830,7 +807,7 @@ global___RemoveTagsFromBinaryDataByFilterResponse = RemoveTagsFromBinaryDataByFi @typing_extensions.final class TagsByFilterRequest(google.protobuf.message.Message): - """TagsByFilterRequest requests the unique tags from data based on given filter""" + """TagsByFilterRequest requests the unique tags from data based on given filter.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int @@ -850,7 +827,7 @@ global___TagsByFilterRequest = TagsByFilterRequest @typing_extensions.final class TagsByFilterResponse(google.protobuf.message.Message): - """TagsByFilterResponse returns the unique tags from data based on given filter""" + """TagsByFilterResponse returns the unique tags from data based on given filter.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor TAGS_FIELD_NUMBER: builtins.int @@ -867,6 +844,9 @@ global___TagsByFilterResponse = TagsByFilterResponse @typing_extensions.final class AddBoundingBoxToImageByIDRequest(google.protobuf.message.Message): + """AddBoundingBoxToImageByIDRequest specifies the binary ID to which a bounding box + with the associated label and position in normalized coordinates will be added. + """ DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_ID_FIELD_NUMBER: builtins.int LABEL_FIELD_NUMBER: builtins.int @@ -896,6 +876,7 @@ global___AddBoundingBoxToImageByIDRequest = AddBoundingBoxToImageByIDRequest @typing_extensions.final class AddBoundingBoxToImageByIDResponse(google.protobuf.message.Message): + """AddBoundingBoxToImageByIDResponse returns the bounding box ID of the successfully added bounding box.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BBOX_ID_FIELD_NUMBER: builtins.int bbox_id: builtins.str @@ -909,6 +890,7 @@ global___AddBoundingBoxToImageByIDResponse = AddBoundingBoxToImageByIDResponse @typing_extensions.final class RemoveBoundingBoxFromImageByIDRequest(google.protobuf.message.Message): + """RemoveBoundingBoxFromImageByIDRequest removes the bounding box with specified bbox ID for the file represented by the binary id.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_ID_FIELD_NUMBER: builtins.int BBOX_ID_FIELD_NUMBER: builtins.int @@ -938,6 +920,7 @@ global___RemoveBoundingBoxFromImageByIDResponse = RemoveBoundingBoxFromImageByID @typing_extensions.final class BoundingBoxLabelsByFilterRequest(google.protobuf.message.Message): + """BoundingBoxLabelsByFilterRequest requests all the labels of the bounding boxes from files from a given filter.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int @@ -957,6 +940,7 @@ global___BoundingBoxLabelsByFilterRequest = BoundingBoxLabelsByFilterRequest @typing_extensions.final class BoundingBoxLabelsByFilterResponse(google.protobuf.message.Message): + """BoundingBoxLabelsByFilterRequest returns all the labels of the bounding boxes from files from a given filter.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor LABELS_FIELD_NUMBER: builtins.int @@ -1000,6 +984,7 @@ global___ConfigureDatabaseUserResponse = ConfigureDatabaseUserResponse @typing_extensions.final class GetDatabaseConnectionRequest(google.protobuf.message.Message): + """GetDatabaseConnectionRequest requests the database connection hostname.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str @@ -1013,6 +998,7 @@ global___GetDatabaseConnectionRequest = GetDatabaseConnectionRequest @typing_extensions.final class GetDatabaseConnectionResponse(google.protobuf.message.Message): + """GetDatabaseConnectionResponse returns the database connection hostname endpoint.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor HOSTNAME_FIELD_NUMBER: builtins.int hostname: builtins.str @@ -1023,3 +1009,57 @@ class GetDatabaseConnectionResponse(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['hostname', b'hostname']) -> None: ... global___GetDatabaseConnectionResponse = GetDatabaseConnectionResponse + +@typing_extensions.final +class AddBinaryDataToDatasetByIDsRequest(google.protobuf.message.Message): + """AddBinaryDataToDatasetByIDsRequest adds the binary data with the given binary IDs to a dataset with dataset_id.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + BINARY_IDS_FIELD_NUMBER: builtins.int + DATASET_ID_FIELD_NUMBER: builtins.int + + @property + def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: + ... + dataset_id: builtins.str + + def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., dataset_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'dataset_id', b'dataset_id']) -> None: + ... +global___AddBinaryDataToDatasetByIDsRequest = AddBinaryDataToDatasetByIDsRequest + +@typing_extensions.final +class AddBinaryDataToDatasetByIDsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___AddBinaryDataToDatasetByIDsResponse = AddBinaryDataToDatasetByIDsResponse + +@typing_extensions.final +class RemoveBinaryDataFromDatasetByIDsRequest(google.protobuf.message.Message): + """RemoveBinaryDataFromDatasetByIDsRequest removes the specified binary IDs from a dataset with dataset_id.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + BINARY_IDS_FIELD_NUMBER: builtins.int + DATASET_ID_FIELD_NUMBER: builtins.int + + @property + def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: + ... + dataset_id: builtins.str + + def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., dataset_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'dataset_id', b'dataset_id']) -> None: + ... +global___RemoveBinaryDataFromDatasetByIDsRequest = RemoveBinaryDataFromDatasetByIDsRequest + +@typing_extensions.final +class RemoveBinaryDataFromDatasetByIDsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___RemoveBinaryDataFromDatasetByIDsResponse = RemoveBinaryDataFromDatasetByIDsResponse \ No newline at end of file diff --git a/src/viam/gen/app/dataset/__init__.py b/src/viam/gen/app/dataset/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/viam/gen/app/dataset/v1/__init__.py b/src/viam/gen/app/dataset/v1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/viam/gen/app/dataset/v1/dataset_grpc.py b/src/viam/gen/app/dataset/v1/dataset_grpc.py new file mode 100644 index 000000000..36c5e2341 --- /dev/null +++ b/src/viam/gen/app/dataset/v1/dataset_grpc.py @@ -0,0 +1,42 @@ +import abc +import typing +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server +import google.protobuf.timestamp_pb2 +from .... import app + +class DatasetServiceBase(abc.ABC): + + @abc.abstractmethod + async def CreateDataset(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse]') -> None: + pass + + @abc.abstractmethod + async def DeleteDataset(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse]') -> None: + pass + + @abc.abstractmethod + async def RenameDataset(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse]') -> None: + pass + + @abc.abstractmethod + async def ListDatasetsByOrganizationID(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse]') -> None: + pass + + @abc.abstractmethod + async def ListDatasetsByIDs(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return {'/viam.app.dataset.v1.DatasetService/CreateDataset': grpclib.const.Handler(self.CreateDataset, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse), '/viam.app.dataset.v1.DatasetService/DeleteDataset': grpclib.const.Handler(self.DeleteDataset, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse), '/viam.app.dataset.v1.DatasetService/RenameDataset': grpclib.const.Handler(self.RenameDataset, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse), '/viam.app.dataset.v1.DatasetService/ListDatasetsByOrganizationID': grpclib.const.Handler(self.ListDatasetsByOrganizationID, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse), '/viam.app.dataset.v1.DatasetService/ListDatasetsByIDs': grpclib.const.Handler(self.ListDatasetsByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse)} + +class DatasetServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.CreateDataset = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/CreateDataset', app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse) + self.DeleteDataset = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/DeleteDataset', app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse) + self.RenameDataset = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/RenameDataset', app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse) + self.ListDatasetsByOrganizationID = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/ListDatasetsByOrganizationID', app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse) + self.ListDatasetsByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/ListDatasetsByIDs', app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse) \ No newline at end of file diff --git a/src/viam/gen/app/dataset/v1/dataset_pb2.py b/src/viam/gen/app/dataset/v1/dataset_pb2.py new file mode 100644 index 000000000..416109e4e --- /dev/null +++ b/src/viam/gen/app/dataset/v1/dataset_pb2.py @@ -0,0 +1,37 @@ +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1capp/dataset/v1/dataset.proto\x12\x13viam.app.dataset.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x95\x01\n\x07Dataset\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId\x12=\n\x0ctime_created\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0btimeCreated"S\n\x14CreateDatasetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\'\n\x15CreateDatasetResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"&\n\x14DeleteDatasetRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x17\n\x15DeleteDatasetResponse":\n\x14RenameDatasetRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"\x17\n\x15RenameDatasetResponse"N\n#ListDatasetsByOrganizationIDRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n$ListDatasetsByOrganizationIDResponse\x128\n\x08datasets\x18\x01 \x03(\x0b2\x1c.viam.app.dataset.v1.DatasetR\x08datasets",\n\x18ListDatasetsByIDsRequest\x12\x10\n\x03ids\x18\x01 \x03(\tR\x03ids"U\n\x19ListDatasetsByIDsResponse\x128\n\x08datasets\x18\x01 \x03(\x0b2\x1c.viam.app.dataset.v1.DatasetR\x08datasets2\xd2\x04\n\x0eDatasetService\x12f\n\rCreateDataset\x12).viam.app.dataset.v1.CreateDatasetRequest\x1a*.viam.app.dataset.v1.CreateDatasetResponse\x12f\n\rDeleteDataset\x12).viam.app.dataset.v1.DeleteDatasetRequest\x1a*.viam.app.dataset.v1.DeleteDatasetResponse\x12f\n\rRenameDataset\x12).viam.app.dataset.v1.RenameDatasetRequest\x1a*.viam.app.dataset.v1.RenameDatasetResponse\x12\x93\x01\n\x1cListDatasetsByOrganizationID\x128.viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest\x1a9.viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse\x12r\n\x11ListDatasetsByIDs\x12-.viam.app.dataset.v1.ListDatasetsByIDsRequest\x1a..viam.app.dataset.v1.ListDatasetsByIDsResponseB Z\x1ego.viam.com/api/app/dataset/v1b\x06proto3') +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.dataset.v1.dataset_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\x1ego.viam.com/api/app/dataset/v1' + _DATASET._serialized_start = 87 + _DATASET._serialized_end = 236 + _CREATEDATASETREQUEST._serialized_start = 238 + _CREATEDATASETREQUEST._serialized_end = 321 + _CREATEDATASETRESPONSE._serialized_start = 323 + _CREATEDATASETRESPONSE._serialized_end = 362 + _DELETEDATASETREQUEST._serialized_start = 364 + _DELETEDATASETREQUEST._serialized_end = 402 + _DELETEDATASETRESPONSE._serialized_start = 404 + _DELETEDATASETRESPONSE._serialized_end = 427 + _RENAMEDATASETREQUEST._serialized_start = 429 + _RENAMEDATASETREQUEST._serialized_end = 487 + _RENAMEDATASETRESPONSE._serialized_start = 489 + _RENAMEDATASETRESPONSE._serialized_end = 512 + _LISTDATASETSBYORGANIZATIONIDREQUEST._serialized_start = 514 + _LISTDATASETSBYORGANIZATIONIDREQUEST._serialized_end = 592 + _LISTDATASETSBYORGANIZATIONIDRESPONSE._serialized_start = 594 + _LISTDATASETSBYORGANIZATIONIDRESPONSE._serialized_end = 690 + _LISTDATASETSBYIDSREQUEST._serialized_start = 692 + _LISTDATASETSBYIDSREQUEST._serialized_end = 736 + _LISTDATASETSBYIDSRESPONSE._serialized_start = 738 + _LISTDATASETSBYIDSRESPONSE._serialized_end = 823 + _DATASETSERVICE._serialized_start = 826 + _DATASETSERVICE._serialized_end = 1420 \ No newline at end of file diff --git a/src/viam/gen/app/dataset/v1/dataset_pb2.pyi b/src/viam/gen/app/dataset/v1/dataset_pb2.pyi new file mode 100644 index 000000000..aac7b177b --- /dev/null +++ b/src/viam/gen/app/dataset/v1/dataset_pb2.pyi @@ -0,0 +1,183 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import sys +if sys.version_info >= (3, 8): + import typing as typing_extensions +else: + import typing_extensions +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing_extensions.final +class Dataset(google.protobuf.message.Message): + """Dataset stores the metadata of a dataset.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + TIME_CREATED_FIELD_NUMBER: builtins.int + id: builtins.str + name: builtins.str + organization_id: builtins.str + + @property + def time_created(self) -> google.protobuf.timestamp_pb2.Timestamp: + ... + + def __init__(self, *, id: builtins.str=..., name: builtins.str=..., organization_id: builtins.str=..., time_created: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['time_created', b'time_created']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'name', b'name', 'organization_id', b'organization_id', 'time_created', b'time_created']) -> None: + ... +global___Dataset = Dataset + +@typing_extensions.final +class CreateDatasetRequest(google.protobuf.message.Message): + """CreateDatasetRequest defines the name and organization ID of a dataset.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + name: builtins.str + organization_id: builtins.str + + def __init__(self, *, name: builtins.str=..., organization_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'organization_id', b'organization_id']) -> None: + ... +global___CreateDatasetRequest = CreateDatasetRequest + +@typing_extensions.final +class CreateDatasetResponse(google.protobuf.message.Message): + """CreateDatasetResponse returns the dataset ID of the created dataset.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + id: builtins.str + + def __init__(self, *, id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: + ... +global___CreateDatasetResponse = CreateDatasetResponse + +@typing_extensions.final +class DeleteDatasetRequest(google.protobuf.message.Message): + """DeleteDatasetRequest deletes the dataset specified by the dataset ID.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + id: builtins.str + + def __init__(self, *, id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: + ... +global___DeleteDatasetRequest = DeleteDatasetRequest + +@typing_extensions.final +class DeleteDatasetResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___DeleteDatasetResponse = DeleteDatasetResponse + +@typing_extensions.final +class RenameDatasetRequest(google.protobuf.message.Message): + """RenameDatasetRequest applies the new name to the dataset specified by the dataset ID.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + id: builtins.str + name: builtins.str + + def __init__(self, *, id: builtins.str=..., name: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'name', b'name']) -> None: + ... +global___RenameDatasetRequest = RenameDatasetRequest + +@typing_extensions.final +class RenameDatasetResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___RenameDatasetResponse = RenameDatasetResponse + +@typing_extensions.final +class ListDatasetsByOrganizationIDRequest(google.protobuf.message.Message): + """ListDatasetsByOrganizationIDRequest requests all of the datasets for an organization.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + organization_id: builtins.str + + def __init__(self, *, organization_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: + ... +global___ListDatasetsByOrganizationIDRequest = ListDatasetsByOrganizationIDRequest + +@typing_extensions.final +class ListDatasetsByOrganizationIDResponse(google.protobuf.message.Message): + """ListDatasetsByOrganizationIDResponse returns all the dataset metadata for the organization.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + DATASETS_FIELD_NUMBER: builtins.int + + @property + def datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Dataset]: + ... + + def __init__(self, *, datasets: collections.abc.Iterable[global___Dataset] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['datasets', b'datasets']) -> None: + ... +global___ListDatasetsByOrganizationIDResponse = ListDatasetsByOrganizationIDResponse + +@typing_extensions.final +class ListDatasetsByIDsRequest(google.protobuf.message.Message): + """ListDatasetsByIDsRequest requests all of the datasets by their dataset IDs.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + IDS_FIELD_NUMBER: builtins.int + + @property + def ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + ... + + def __init__(self, *, ids: collections.abc.Iterable[builtins.str] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['ids', b'ids']) -> None: + ... +global___ListDatasetsByIDsRequest = ListDatasetsByIDsRequest + +@typing_extensions.final +class ListDatasetsByIDsResponse(google.protobuf.message.Message): + """ListDatasetsByIDsResponse returns all the dataset metadata for the associated dataset IDs.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + DATASETS_FIELD_NUMBER: builtins.int + + @property + def datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Dataset]: + ... + + def __init__(self, *, datasets: collections.abc.Iterable[global___Dataset] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['datasets', b'datasets']) -> None: + ... +global___ListDatasetsByIDsResponse = ListDatasetsByIDsResponse \ No newline at end of file diff --git a/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi b/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi index 8abda0c9a..c247e649e 100644 --- a/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi +++ b/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi @@ -31,7 +31,7 @@ class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumT DATA_TYPE_FILE: _DataType.ValueType class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper): - ... + """DataType specifies the type of data uploaded.""" DATA_TYPE_UNSPECIFIED: DataType.ValueType DATA_TYPE_BINARY_SENSOR: DataType.ValueType DATA_TYPE_TABULAR_SENSOR: DataType.ValueType @@ -40,6 +40,7 @@ global___DataType = DataType @typing_extensions.final class DataCaptureUploadRequest(google.protobuf.message.Message): + """DataCaptureUploadRequest requests to upload the contents and metadata for tabular data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int SENSOR_CONTENTS_FIELD_NUMBER: builtins.int @@ -64,6 +65,7 @@ global___DataCaptureUploadRequest = DataCaptureUploadRequest @typing_extensions.final class DataCaptureUploadResponse(google.protobuf.message.Message): + """DataCaptureUploadResponse returns the file id of the uploaded contents and metadata for tabular data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int file_id: builtins.str @@ -77,6 +79,9 @@ global___DataCaptureUploadResponse = DataCaptureUploadResponse @typing_extensions.final class FileUploadRequest(google.protobuf.message.Message): + """FileUploadRequest requests to upload the contents and metadata for binary (image + file) data. + The first packet must be the UploadMetadata associated with the binary data. + """ DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int FILE_CONTENTS_FIELD_NUMBER: builtins.int @@ -104,6 +109,7 @@ global___FileUploadRequest = FileUploadRequest @typing_extensions.final class FileUploadResponse(google.protobuf.message.Message): + """FileUploadResponse returns the file id of the uploaded contents and metadata for binary (image + file) data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int file_id: builtins.str @@ -117,6 +123,9 @@ global___FileUploadResponse = FileUploadResponse @typing_extensions.final class StreamingDataCaptureUploadRequest(google.protobuf.message.Message): + """StreamingDataCaptureUploadRequest requests to upload the contents and metadata for streaming binary (image + file) data. + The first packet must be the DataCaptureUploadMetadata associated with the data. + """ DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int DATA_FIELD_NUMBER: builtins.int @@ -141,6 +150,7 @@ global___StreamingDataCaptureUploadRequest = StreamingDataCaptureUploadRequest @typing_extensions.final class StreamingDataCaptureUploadResponse(google.protobuf.message.Message): + """StreamingDataCaptureUploadResponse returns the file id of the uploaded contents and metadata for streaming binary (image + file) data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int file_id: builtins.str @@ -154,6 +164,7 @@ global___StreamingDataCaptureUploadResponse = StreamingDataCaptureUploadResponse @typing_extensions.final class SensorMetadata(google.protobuf.message.Message): + """SensorMetadata contains the time the sensor data was requested and was received.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor TIME_REQUESTED_FIELD_NUMBER: builtins.int TIME_RECEIVED_FIELD_NUMBER: builtins.int @@ -178,6 +189,7 @@ global___SensorMetadata = SensorMetadata @typing_extensions.final class SensorData(google.protobuf.message.Message): + """SensorData contains the contents and metadata for tabular data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int STRUCT_FIELD_NUMBER: builtins.int @@ -207,6 +219,7 @@ global___SensorData = SensorData @typing_extensions.final class FileData(google.protobuf.message.Message): + """FileData contains the contents of binary (image + file) data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int data: builtins.bytes @@ -220,6 +233,7 @@ global___FileData = FileData @typing_extensions.final class UploadMetadata(google.protobuf.message.Message): + """UploadMetadata contains the metadata for binary (image + file) data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -275,6 +289,7 @@ global___UploadMetadata = UploadMetadata @typing_extensions.final class CaptureInterval(google.protobuf.message.Message): + """CaptureInterval specifies the start and end times of the data capture.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor START_FIELD_NUMBER: builtins.int END_FIELD_NUMBER: builtins.int @@ -299,6 +314,7 @@ global___CaptureInterval = CaptureInterval @typing_extensions.final class DataCaptureMetadata(google.protobuf.message.Message): + """DataCaptureMetadata contains the metadata for data captured by collectors.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -350,6 +366,7 @@ global___DataCaptureMetadata = DataCaptureMetadata @typing_extensions.final class DataCaptureUploadMetadata(google.protobuf.message.Message): + """DataCaptureUploadMetadata contains the metadata for streaming binary (image + file) data.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor UPLOAD_METADATA_FIELD_NUMBER: builtins.int SENSOR_METADATA_FIELD_NUMBER: builtins.int diff --git a/src/viam/gen/app/v1/app_grpc.py b/src/viam/gen/app/v1/app_grpc.py index f6a422d86..c464c07de 100644 --- a/src/viam/gen/app/v1/app_grpc.py +++ b/src/viam/gen/app/v1/app_grpc.py @@ -247,8 +247,24 @@ async def ListModules(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListMo async def CreateKey(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse]') -> None: pass + @abc.abstractmethod + async def DeleteKey(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse]') -> None: + pass + + @abc.abstractmethod + async def ListKeys(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse]') -> None: + pass + + @abc.abstractmethod + async def RotateKey(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateKeyFromExistingKeyAuthorizations(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse]') -> None: + pass + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.AppService/GetUserIDByEmail': grpclib.const.Handler(self.GetUserIDByEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse), '/viam.app.v1.AppService/CreateOrganization': grpclib.const.Handler(self.CreateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse), '/viam.app.v1.AppService/ListOrganizations': grpclib.const.Handler(self.ListOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse), '/viam.app.v1.AppService/ListOrganizationsByUser': grpclib.const.Handler(self.ListOrganizationsByUser, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse), '/viam.app.v1.AppService/GetOrganization': grpclib.const.Handler(self.GetOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationNamespaceAvailability': grpclib.const.Handler(self.GetOrganizationNamespaceAvailability, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse), '/viam.app.v1.AppService/UpdateOrganization': grpclib.const.Handler(self.UpdateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse), '/viam.app.v1.AppService/DeleteOrganization': grpclib.const.Handler(self.DeleteOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse), '/viam.app.v1.AppService/ListOrganizationMembers': grpclib.const.Handler(self.ListOrganizationMembers, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse), '/viam.app.v1.AppService/CreateOrganizationInvite': grpclib.const.Handler(self.CreateOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse), '/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations': grpclib.const.Handler(self.UpdateOrganizationInviteAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse), '/viam.app.v1.AppService/DeleteOrganizationMember': grpclib.const.Handler(self.DeleteOrganizationMember, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse), '/viam.app.v1.AppService/DeleteOrganizationInvite': grpclib.const.Handler(self.DeleteOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse), '/viam.app.v1.AppService/ResendOrganizationInvite': grpclib.const.Handler(self.ResendOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse), '/viam.app.v1.AppService/CreateLocation': grpclib.const.Handler(self.CreateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse), '/viam.app.v1.AppService/GetLocation': grpclib.const.Handler(self.GetLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse), '/viam.app.v1.AppService/UpdateLocation': grpclib.const.Handler(self.UpdateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse), '/viam.app.v1.AppService/DeleteLocation': grpclib.const.Handler(self.DeleteLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse), '/viam.app.v1.AppService/ListLocations': grpclib.const.Handler(self.ListLocations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse), '/viam.app.v1.AppService/ShareLocation': grpclib.const.Handler(self.ShareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse), '/viam.app.v1.AppService/UnshareLocation': grpclib.const.Handler(self.UnshareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse), '/viam.app.v1.AppService/LocationAuth': grpclib.const.Handler(self.LocationAuth, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse), '/viam.app.v1.AppService/CreateLocationSecret': grpclib.const.Handler(self.CreateLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse), '/viam.app.v1.AppService/DeleteLocationSecret': grpclib.const.Handler(self.DeleteLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse), '/viam.app.v1.AppService/GetRobot': grpclib.const.Handler(self.GetRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse), '/viam.app.v1.AppService/GetRoverRentalRobots': grpclib.const.Handler(self.GetRoverRentalRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse), '/viam.app.v1.AppService/GetRobotParts': grpclib.const.Handler(self.GetRobotParts, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse), '/viam.app.v1.AppService/GetRobotPart': grpclib.const.Handler(self.GetRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartLogs': grpclib.const.Handler(self.GetRobotPartLogs, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse), '/viam.app.v1.AppService/TailRobotPartLogs': grpclib.const.Handler(self.TailRobotPartLogs, grpclib.const.Cardinality.UNARY_STREAM, app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse), '/viam.app.v1.AppService/GetRobotPartHistory': grpclib.const.Handler(self.GetRobotPartHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse), '/viam.app.v1.AppService/UpdateRobotPart': grpclib.const.Handler(self.UpdateRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse), '/viam.app.v1.AppService/NewRobotPart': grpclib.const.Handler(self.NewRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse), '/viam.app.v1.AppService/DeleteRobotPart': grpclib.const.Handler(self.DeleteRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse), '/viam.app.v1.AppService/GetRobotAPIKeys': grpclib.const.Handler(self.GetRobotAPIKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse), '/viam.app.v1.AppService/MarkPartAsMain': grpclib.const.Handler(self.MarkPartAsMain, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse), '/viam.app.v1.AppService/MarkPartForRestart': grpclib.const.Handler(self.MarkPartForRestart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse), '/viam.app.v1.AppService/CreateRobotPartSecret': grpclib.const.Handler(self.CreateRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse), '/viam.app.v1.AppService/DeleteRobotPartSecret': grpclib.const.Handler(self.DeleteRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse), '/viam.app.v1.AppService/ListRobots': grpclib.const.Handler(self.ListRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse), '/viam.app.v1.AppService/NewRobot': grpclib.const.Handler(self.NewRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse), '/viam.app.v1.AppService/UpdateRobot': grpclib.const.Handler(self.UpdateRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse), '/viam.app.v1.AppService/DeleteRobot': grpclib.const.Handler(self.DeleteRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse), '/viam.app.v1.AppService/ListFragments': grpclib.const.Handler(self.ListFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse), '/viam.app.v1.AppService/GetFragment': grpclib.const.Handler(self.GetFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse), '/viam.app.v1.AppService/CreateFragment': grpclib.const.Handler(self.CreateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse), '/viam.app.v1.AppService/UpdateFragment': grpclib.const.Handler(self.UpdateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse), '/viam.app.v1.AppService/DeleteFragment': grpclib.const.Handler(self.DeleteFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse), '/viam.app.v1.AppService/AddRole': grpclib.const.Handler(self.AddRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse), '/viam.app.v1.AppService/RemoveRole': grpclib.const.Handler(self.RemoveRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse), '/viam.app.v1.AppService/ChangeRole': grpclib.const.Handler(self.ChangeRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse), '/viam.app.v1.AppService/ListAuthorizations': grpclib.const.Handler(self.ListAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse), '/viam.app.v1.AppService/CheckPermissions': grpclib.const.Handler(self.CheckPermissions, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse), '/viam.app.v1.AppService/CreateModule': grpclib.const.Handler(self.CreateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse), '/viam.app.v1.AppService/UpdateModule': grpclib.const.Handler(self.UpdateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse), '/viam.app.v1.AppService/UploadModuleFile': grpclib.const.Handler(self.UploadModuleFile, grpclib.const.Cardinality.STREAM_UNARY, app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse), '/viam.app.v1.AppService/GetModule': grpclib.const.Handler(self.GetModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse), '/viam.app.v1.AppService/ListModules': grpclib.const.Handler(self.ListModules, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse), '/viam.app.v1.AppService/CreateKey': grpclib.const.Handler(self.CreateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse)} + return {'/viam.app.v1.AppService/GetUserIDByEmail': grpclib.const.Handler(self.GetUserIDByEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse), '/viam.app.v1.AppService/CreateOrganization': grpclib.const.Handler(self.CreateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse), '/viam.app.v1.AppService/ListOrganizations': grpclib.const.Handler(self.ListOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse), '/viam.app.v1.AppService/ListOrganizationsByUser': grpclib.const.Handler(self.ListOrganizationsByUser, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse), '/viam.app.v1.AppService/GetOrganization': grpclib.const.Handler(self.GetOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationNamespaceAvailability': grpclib.const.Handler(self.GetOrganizationNamespaceAvailability, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse), '/viam.app.v1.AppService/UpdateOrganization': grpclib.const.Handler(self.UpdateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse), '/viam.app.v1.AppService/DeleteOrganization': grpclib.const.Handler(self.DeleteOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse), '/viam.app.v1.AppService/ListOrganizationMembers': grpclib.const.Handler(self.ListOrganizationMembers, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse), '/viam.app.v1.AppService/CreateOrganizationInvite': grpclib.const.Handler(self.CreateOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse), '/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations': grpclib.const.Handler(self.UpdateOrganizationInviteAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse), '/viam.app.v1.AppService/DeleteOrganizationMember': grpclib.const.Handler(self.DeleteOrganizationMember, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse), '/viam.app.v1.AppService/DeleteOrganizationInvite': grpclib.const.Handler(self.DeleteOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse), '/viam.app.v1.AppService/ResendOrganizationInvite': grpclib.const.Handler(self.ResendOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse), '/viam.app.v1.AppService/CreateLocation': grpclib.const.Handler(self.CreateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse), '/viam.app.v1.AppService/GetLocation': grpclib.const.Handler(self.GetLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse), '/viam.app.v1.AppService/UpdateLocation': grpclib.const.Handler(self.UpdateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse), '/viam.app.v1.AppService/DeleteLocation': grpclib.const.Handler(self.DeleteLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse), '/viam.app.v1.AppService/ListLocations': grpclib.const.Handler(self.ListLocations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse), '/viam.app.v1.AppService/ShareLocation': grpclib.const.Handler(self.ShareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse), '/viam.app.v1.AppService/UnshareLocation': grpclib.const.Handler(self.UnshareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse), '/viam.app.v1.AppService/LocationAuth': grpclib.const.Handler(self.LocationAuth, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse), '/viam.app.v1.AppService/CreateLocationSecret': grpclib.const.Handler(self.CreateLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse), '/viam.app.v1.AppService/DeleteLocationSecret': grpclib.const.Handler(self.DeleteLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse), '/viam.app.v1.AppService/GetRobot': grpclib.const.Handler(self.GetRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse), '/viam.app.v1.AppService/GetRoverRentalRobots': grpclib.const.Handler(self.GetRoverRentalRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse), '/viam.app.v1.AppService/GetRobotParts': grpclib.const.Handler(self.GetRobotParts, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse), '/viam.app.v1.AppService/GetRobotPart': grpclib.const.Handler(self.GetRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartLogs': grpclib.const.Handler(self.GetRobotPartLogs, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse), '/viam.app.v1.AppService/TailRobotPartLogs': grpclib.const.Handler(self.TailRobotPartLogs, grpclib.const.Cardinality.UNARY_STREAM, app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse), '/viam.app.v1.AppService/GetRobotPartHistory': grpclib.const.Handler(self.GetRobotPartHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse), '/viam.app.v1.AppService/UpdateRobotPart': grpclib.const.Handler(self.UpdateRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse), '/viam.app.v1.AppService/NewRobotPart': grpclib.const.Handler(self.NewRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse), '/viam.app.v1.AppService/DeleteRobotPart': grpclib.const.Handler(self.DeleteRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse), '/viam.app.v1.AppService/GetRobotAPIKeys': grpclib.const.Handler(self.GetRobotAPIKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse), '/viam.app.v1.AppService/MarkPartAsMain': grpclib.const.Handler(self.MarkPartAsMain, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse), '/viam.app.v1.AppService/MarkPartForRestart': grpclib.const.Handler(self.MarkPartForRestart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse), '/viam.app.v1.AppService/CreateRobotPartSecret': grpclib.const.Handler(self.CreateRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse), '/viam.app.v1.AppService/DeleteRobotPartSecret': grpclib.const.Handler(self.DeleteRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse), '/viam.app.v1.AppService/ListRobots': grpclib.const.Handler(self.ListRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse), '/viam.app.v1.AppService/NewRobot': grpclib.const.Handler(self.NewRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse), '/viam.app.v1.AppService/UpdateRobot': grpclib.const.Handler(self.UpdateRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse), '/viam.app.v1.AppService/DeleteRobot': grpclib.const.Handler(self.DeleteRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse), '/viam.app.v1.AppService/ListFragments': grpclib.const.Handler(self.ListFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse), '/viam.app.v1.AppService/GetFragment': grpclib.const.Handler(self.GetFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse), '/viam.app.v1.AppService/CreateFragment': grpclib.const.Handler(self.CreateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse), '/viam.app.v1.AppService/UpdateFragment': grpclib.const.Handler(self.UpdateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse), '/viam.app.v1.AppService/DeleteFragment': grpclib.const.Handler(self.DeleteFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse), '/viam.app.v1.AppService/AddRole': grpclib.const.Handler(self.AddRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse), '/viam.app.v1.AppService/RemoveRole': grpclib.const.Handler(self.RemoveRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse), '/viam.app.v1.AppService/ChangeRole': grpclib.const.Handler(self.ChangeRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse), '/viam.app.v1.AppService/ListAuthorizations': grpclib.const.Handler(self.ListAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse), '/viam.app.v1.AppService/CheckPermissions': grpclib.const.Handler(self.CheckPermissions, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse), '/viam.app.v1.AppService/CreateModule': grpclib.const.Handler(self.CreateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse), '/viam.app.v1.AppService/UpdateModule': grpclib.const.Handler(self.UpdateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse), '/viam.app.v1.AppService/UploadModuleFile': grpclib.const.Handler(self.UploadModuleFile, grpclib.const.Cardinality.STREAM_UNARY, app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse), '/viam.app.v1.AppService/GetModule': grpclib.const.Handler(self.GetModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse), '/viam.app.v1.AppService/ListModules': grpclib.const.Handler(self.ListModules, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse), '/viam.app.v1.AppService/CreateKey': grpclib.const.Handler(self.CreateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse), '/viam.app.v1.AppService/DeleteKey': grpclib.const.Handler(self.DeleteKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse), '/viam.app.v1.AppService/ListKeys': grpclib.const.Handler(self.ListKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse), '/viam.app.v1.AppService/RotateKey': grpclib.const.Handler(self.RotateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse), '/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations': grpclib.const.Handler(self.CreateKeyFromExistingKeyAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse)} class AppServiceStub: @@ -311,4 +327,8 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.UploadModuleFile = grpclib.client.StreamUnaryMethod(channel, '/viam.app.v1.AppService/UploadModuleFile', app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse) self.GetModule = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetModule', app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse) self.ListModules = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListModules', app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse) - self.CreateKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateKey', app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse) \ No newline at end of file + self.CreateKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateKey', app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse) + self.DeleteKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteKey', app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse) + self.ListKeys = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListKeys', app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse) + self.RotateKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/RotateKey', app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse) + self.CreateKeyFromExistingKeyAuthorizations = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations', app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse) \ No newline at end of file diff --git a/src/viam/gen/app/v1/app_pb2.py b/src/viam/gen/app/v1/app_pb2.py index 92156d5eb..21fc6c6fe 100644 --- a/src/viam/gen/app/v1/app_pb2.py +++ b/src/viam/gen/app/v1/app_pb2.py @@ -7,7 +7,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xd3\x07\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets"\x93\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xa4\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xe4\x02\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\xa5\x01\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01B\t\n\x07_filterB\r\n\x0b_page_token"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields"m\n\x18GetRobotPartLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"F\n\x19TailRobotPartLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"x\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"I\n\x17GetRobotAPIKeysResponse\x12.\n\x08api_keys\x18\x01 \x03(\x0b2\x13.viam.app.v1.APIKeyR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xe8\x04\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner"`\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic"L\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments"$\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"H\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x85\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x94\x01\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01B\t\n\x07_public"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\xeb\x01\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"c\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\xe5\x03\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace"\xa2\x01\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"V\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01B\x12\n\x10_organization_id"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId">\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id*W\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x022\xd5,\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xd3\x07\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets"\x93\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xa4\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xe4\x02\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\xa5\x01\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01B\t\n\x07_filterB\r\n\x0b_page_token"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields"m\n\x18GetRobotPartLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"F\n\x19TailRobotPartLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"x\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"I\n\x17GetRobotAPIKeysResponse\x12.\n\x08api_keys\x18\x01 \x03(\x0b2\x13.viam.app.v1.APIKeyR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xe8\x04\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner"`\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic"L\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments"$\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"H\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x85\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x94\x01\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01B\t\n\x07_public"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\xeb\x01\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"c\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\xe5\x03\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace"\xa2\x01\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"V\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01B\x12\n\x10_organization_id"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId">\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key*W\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x022\xda/\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.app_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -77,8 +77,8 @@ _FRAGMENT.fields_by_name['public']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"public" json:"public"' _FRAGMENT.fields_by_name['created_on']._options = None _FRAGMENT.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' - _VISIBILITY._serialized_start = 15235 - _VISIBILITY._serialized_end = 15322 + _VISIBILITY._serialized_start = 16018 + _VISIBILITY._serialized_end = 16105 _ROBOT._serialized_start = 121 _ROBOT._serialized_end = 485 _ROBOTPART._serialized_start = 488 @@ -363,5 +363,25 @@ _CREATEKEYREQUEST._serialized_end = 15178 _CREATEKEYRESPONSE._serialized_start = 15180 _CREATEKEYRESPONSE._serialized_end = 15233 - _APPSERVICE._serialized_start = 15325 - _APPSERVICE._serialized_end = 21042 + _DELETEKEYREQUEST._serialized_start = 15235 + _DELETEKEYREQUEST._serialized_end = 15269 + _DELETEKEYRESPONSE._serialized_start = 15271 + _DELETEKEYRESPONSE._serialized_end = 15290 + _AUTHORIZATIONDETAILS._serialized_start = 15293 + _AUTHORIZATIONDETAILS._serialized_end = 15498 + _APIKEYWITHAUTHORIZATIONS._serialized_start = 15501 + _APIKEYWITHAUTHORIZATIONS._serialized_end = 15648 + _LISTKEYSREQUEST._serialized_start = 15650 + _LISTKEYSREQUEST._serialized_end = 15690 + _LISTKEYSRESPONSE._serialized_start = 15692 + _LISTKEYSRESPONSE._serialized_end = 15776 + _ROTATEKEYREQUEST._serialized_start = 15778 + _ROTATEKEYREQUEST._serialized_end = 15812 + _ROTATEKEYRESPONSE._serialized_start = 15814 + _ROTATEKEYRESPONSE._serialized_end = 15867 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST._serialized_start = 15869 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST._serialized_end = 15932 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_start = 15934 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_end = 16016 + _APPSERVICE._serialized_start = 16108 + _APPSERVICE._serialized_end = 22214 \ No newline at end of file diff --git a/src/viam/gen/app/v1/app_pb2.pyi b/src/viam/gen/app/v1/app_pb2.pyi index c11390226..908de08f9 100644 --- a/src/viam/gen/app/v1/app_pb2.pyi +++ b/src/viam/gen/app/v1/app_pb2.pyi @@ -2614,4 +2614,155 @@ class CreateKeyResponse(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'key', b'key']) -> None: ... -global___CreateKeyResponse = CreateKeyResponse \ No newline at end of file +global___CreateKeyResponse = CreateKeyResponse + +@typing_extensions.final +class DeleteKeyRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + id: builtins.str + + def __init__(self, *, id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: + ... +global___DeleteKeyRequest = DeleteKeyRequest + +@typing_extensions.final +class DeleteKeyResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___DeleteKeyResponse = DeleteKeyResponse + +@typing_extensions.final +class AuthorizationDetails(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + AUTHORIZATION_TYPE_FIELD_NUMBER: builtins.int + AUTHORIZATION_ID_FIELD_NUMBER: builtins.int + RESOURCE_TYPE_FIELD_NUMBER: builtins.int + RESOURCE_ID_FIELD_NUMBER: builtins.int + ORG_ID_FIELD_NUMBER: builtins.int + authorization_type: builtins.str + authorization_id: builtins.str + resource_type: builtins.str + resource_id: builtins.str + org_id: builtins.str + + def __init__(self, *, authorization_type: builtins.str=..., authorization_id: builtins.str=..., resource_type: builtins.str=..., resource_id: builtins.str=..., org_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['authorization_id', b'authorization_id', 'authorization_type', b'authorization_type', 'org_id', b'org_id', 'resource_id', b'resource_id', 'resource_type', b'resource_type']) -> None: + ... +global___AuthorizationDetails = AuthorizationDetails + +@typing_extensions.final +class APIKeyWithAuthorizations(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + API_KEY_FIELD_NUMBER: builtins.int + AUTHORIZATIONS_FIELD_NUMBER: builtins.int + + @property + def api_key(self) -> global___APIKey: + ... + + @property + def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthorizationDetails]: + ... + + def __init__(self, *, api_key: global___APIKey | None=..., authorizations: collections.abc.Iterable[global___AuthorizationDetails] | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['api_key', b'api_key']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['api_key', b'api_key', 'authorizations', b'authorizations']) -> None: + ... +global___APIKeyWithAuthorizations = APIKeyWithAuthorizations + +@typing_extensions.final +class ListKeysRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ORG_ID_FIELD_NUMBER: builtins.int + org_id: builtins.str + + def __init__(self, *, org_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: + ... +global___ListKeysRequest = ListKeysRequest + +@typing_extensions.final +class ListKeysResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + API_KEYS_FIELD_NUMBER: builtins.int + + @property + def api_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___APIKeyWithAuthorizations]: + ... + + def __init__(self, *, api_keys: collections.abc.Iterable[global___APIKeyWithAuthorizations] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['api_keys', b'api_keys']) -> None: + ... +global___ListKeysResponse = ListKeysResponse + +@typing_extensions.final +class RotateKeyRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + id: builtins.str + + def __init__(self, *, id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: + ... +global___RotateKeyRequest = RotateKeyRequest + +@typing_extensions.final +class RotateKeyResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + id: builtins.str + key: builtins.str + + def __init__(self, *, id: builtins.str=..., key: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'key', b'key']) -> None: + ... +global___RotateKeyResponse = RotateKeyResponse + +@typing_extensions.final +class CreateKeyFromExistingKeyAuthorizationsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + id: builtins.str + + def __init__(self, *, id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: + ... +global___CreateKeyFromExistingKeyAuthorizationsRequest = CreateKeyFromExistingKeyAuthorizationsRequest + +@typing_extensions.final +class CreateKeyFromExistingKeyAuthorizationsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + id: builtins.str + key: builtins.str + + def __init__(self, *, id: builtins.str=..., key: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'key', b'key']) -> None: + ... +global___CreateKeyFromExistingKeyAuthorizationsResponse = CreateKeyFromExistingKeyAuthorizationsResponse \ No newline at end of file diff --git a/src/viam/gen/app/v1/end_user_grpc.py b/src/viam/gen/app/v1/end_user_grpc.py new file mode 100644 index 000000000..d1b0dfb66 --- /dev/null +++ b/src/viam/gen/app/v1/end_user_grpc.py @@ -0,0 +1,26 @@ +import abc +import typing +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server +from ... import app + +class EndUserServiceBase(abc.ABC): + + @abc.abstractmethod + async def IsLegalAccepted(self, stream: 'grpclib.server.Stream[app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse]') -> None: + pass + + @abc.abstractmethod + async def AcceptLegal(self, stream: 'grpclib.server.Stream[app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return {'/viam.app.v1.EndUserService/IsLegalAccepted': grpclib.const.Handler(self.IsLegalAccepted, grpclib.const.Cardinality.UNARY_UNARY, app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse), '/viam.app.v1.EndUserService/AcceptLegal': grpclib.const.Handler(self.AcceptLegal, grpclib.const.Cardinality.UNARY_UNARY, app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse)} + +class EndUserServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.IsLegalAccepted = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.EndUserService/IsLegalAccepted', app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse) + self.AcceptLegal = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.EndUserService/AcceptLegal', app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse) \ No newline at end of file diff --git a/src/viam/gen/app/v1/end_user_pb2.py b/src/viam/gen/app/v1/end_user_pb2.py new file mode 100644 index 000000000..a1e1c7f07 --- /dev/null +++ b/src/viam/gen/app/v1/end_user_pb2.py @@ -0,0 +1,22 @@ +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15app/v1/end_user.proto\x12\x0bviam.app.v1"1\n\x16IsLegalAcceptedRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"@\n\x17IsLegalAcceptedResponse\x12%\n\x0eaccepted_legal\x18\x01 \x01(\x08R\racceptedLegal"-\n\x12AcceptLegalRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"\x15\n\x13AcceptLegalResponse2\xc0\x01\n\x0eEndUserService\x12\\\n\x0fIsLegalAccepted\x12#.viam.app.v1.IsLegalAcceptedRequest\x1a$.viam.app.v1.IsLegalAcceptedResponse\x12P\n\x0bAcceptLegal\x12\x1f.viam.app.v1.AcceptLegalRequest\x1a .viam.app.v1.AcceptLegalResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.end_user_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\x16go.viam.com/api/app/v1' + _ISLEGALACCEPTEDREQUEST._serialized_start = 38 + _ISLEGALACCEPTEDREQUEST._serialized_end = 87 + _ISLEGALACCEPTEDRESPONSE._serialized_start = 89 + _ISLEGALACCEPTEDRESPONSE._serialized_end = 153 + _ACCEPTLEGALREQUEST._serialized_start = 155 + _ACCEPTLEGALREQUEST._serialized_end = 200 + _ACCEPTLEGALRESPONSE._serialized_start = 202 + _ACCEPTLEGALRESPONSE._serialized_end = 223 + _ENDUSERSERVICE._serialized_start = 226 + _ENDUSERSERVICE._serialized_end = 418 \ No newline at end of file diff --git a/src/viam/gen/app/v1/end_user_pb2.pyi b/src/viam/gen/app/v1/end_user_pb2.pyi new file mode 100644 index 000000000..37d076c76 --- /dev/null +++ b/src/viam/gen/app/v1/end_user_pb2.pyi @@ -0,0 +1,63 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import sys +if sys.version_info >= (3, 8): + import typing as typing_extensions +else: + import typing_extensions +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing_extensions.final +class IsLegalAcceptedRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + USER_ID_FIELD_NUMBER: builtins.int + user_id: builtins.str + 'The user ID to check.' + + def __init__(self, *, user_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['user_id', b'user_id']) -> None: + ... +global___IsLegalAcceptedRequest = IsLegalAcceptedRequest + +@typing_extensions.final +class IsLegalAcceptedResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ACCEPTED_LEGAL_FIELD_NUMBER: builtins.int + accepted_legal: builtins.bool + 'If false, the user should not be able to use the application.' + + def __init__(self, *, accepted_legal: builtins.bool=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['accepted_legal', b'accepted_legal']) -> None: + ... +global___IsLegalAcceptedResponse = IsLegalAcceptedResponse + +@typing_extensions.final +class AcceptLegalRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + USER_ID_FIELD_NUMBER: builtins.int + user_id: builtins.str + 'The user ID to accept legal terms for.' + + def __init__(self, *, user_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['user_id', b'user_id']) -> None: + ... +global___AcceptLegalRequest = AcceptLegalRequest + +@typing_extensions.final +class AcceptLegalResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___AcceptLegalResponse = AcceptLegalResponse \ No newline at end of file diff --git a/src/viam/gen/component/board/v1/board_grpc.py b/src/viam/gen/component/board/v1/board_grpc.py index b6fec9a0e..939d0b63b 100644 --- a/src/viam/gen/component/board/v1/board_grpc.py +++ b/src/viam/gen/component/board/v1/board_grpc.py @@ -48,6 +48,10 @@ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.Do async def ReadAnalogReader(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse]') -> None: pass + @abc.abstractmethod + async def WriteAnalog(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse]') -> None: + pass + @abc.abstractmethod async def GetDigitalInterruptValue(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse]') -> None: pass @@ -61,7 +65,7 @@ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.board.v1.BoardService/Status': grpclib.const.Handler(self.Status, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.StatusRequest, component.board.v1.board_pb2.StatusResponse), '/viam.component.board.v1.BoardService/SetGPIO': grpclib.const.Handler(self.SetGPIO, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetGPIORequest, component.board.v1.board_pb2.SetGPIOResponse), '/viam.component.board.v1.BoardService/GetGPIO': grpclib.const.Handler(self.GetGPIO, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.GetGPIORequest, component.board.v1.board_pb2.GetGPIOResponse), '/viam.component.board.v1.BoardService/PWM': grpclib.const.Handler(self.PWM, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.PWMRequest, component.board.v1.board_pb2.PWMResponse), '/viam.component.board.v1.BoardService/SetPWM': grpclib.const.Handler(self.SetPWM, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPWMRequest, component.board.v1.board_pb2.SetPWMResponse), '/viam.component.board.v1.BoardService/PWMFrequency': grpclib.const.Handler(self.PWMFrequency, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.PWMFrequencyRequest, component.board.v1.board_pb2.PWMFrequencyResponse), '/viam.component.board.v1.BoardService/SetPWMFrequency': grpclib.const.Handler(self.SetPWMFrequency, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse), '/viam.component.board.v1.BoardService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.board.v1.BoardService/ReadAnalogReader': grpclib.const.Handler(self.ReadAnalogReader, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse), '/viam.component.board.v1.BoardService/GetDigitalInterruptValue': grpclib.const.Handler(self.GetDigitalInterruptValue, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse), '/viam.component.board.v1.BoardService/SetPowerMode': grpclib.const.Handler(self.SetPowerMode, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse), '/viam.component.board.v1.BoardService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return {'/viam.component.board.v1.BoardService/Status': grpclib.const.Handler(self.Status, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.StatusRequest, component.board.v1.board_pb2.StatusResponse), '/viam.component.board.v1.BoardService/SetGPIO': grpclib.const.Handler(self.SetGPIO, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetGPIORequest, component.board.v1.board_pb2.SetGPIOResponse), '/viam.component.board.v1.BoardService/GetGPIO': grpclib.const.Handler(self.GetGPIO, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.GetGPIORequest, component.board.v1.board_pb2.GetGPIOResponse), '/viam.component.board.v1.BoardService/PWM': grpclib.const.Handler(self.PWM, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.PWMRequest, component.board.v1.board_pb2.PWMResponse), '/viam.component.board.v1.BoardService/SetPWM': grpclib.const.Handler(self.SetPWM, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPWMRequest, component.board.v1.board_pb2.SetPWMResponse), '/viam.component.board.v1.BoardService/PWMFrequency': grpclib.const.Handler(self.PWMFrequency, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.PWMFrequencyRequest, component.board.v1.board_pb2.PWMFrequencyResponse), '/viam.component.board.v1.BoardService/SetPWMFrequency': grpclib.const.Handler(self.SetPWMFrequency, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse), '/viam.component.board.v1.BoardService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.board.v1.BoardService/ReadAnalogReader': grpclib.const.Handler(self.ReadAnalogReader, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse), '/viam.component.board.v1.BoardService/WriteAnalog': grpclib.const.Handler(self.WriteAnalog, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse), '/viam.component.board.v1.BoardService/GetDigitalInterruptValue': grpclib.const.Handler(self.GetDigitalInterruptValue, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse), '/viam.component.board.v1.BoardService/SetPowerMode': grpclib.const.Handler(self.SetPowerMode, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse), '/viam.component.board.v1.BoardService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} class BoardServiceStub: @@ -75,6 +79,7 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.SetPWMFrequency = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/SetPWMFrequency', component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse) self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) self.ReadAnalogReader = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/ReadAnalogReader', component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse) + self.WriteAnalog = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/WriteAnalog', component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse) self.GetDigitalInterruptValue = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/GetDigitalInterruptValue', component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse) self.SetPowerMode = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/SetPowerMode', component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse) self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file diff --git a/src/viam/gen/component/board/v1/board_pb2.py b/src/viam/gen/component/board/v1/board_pb2.py index 4a07a6d53..a7182e7af 100644 --- a/src/viam/gen/component/board/v1/board_pb2.py +++ b/src/viam/gen/component/board/v1/board_pb2.py @@ -8,7 +8,7 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ecomponent/board/v1/board.proto\x12\x17viam.component.board.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto"R\n\rStatusRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x0eStatusResponse\x123\n\x06status\x18\x01 \x01(\x0b2\x1b.viam.common.v1.BoardStatusR\x06status"y\n\x0eSetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x12\n\x04high\x18\x03 \x01(\x08R\x04high\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x11\n\x0fSetGPIOResponse"e\n\x0eGetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"%\n\x0fGetGPIOResponse\x12\x12\n\x04high\x18\x01 \x01(\x08R\x04high"a\n\nPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"3\n\x0bPWMResponse\x12$\n\x0eduty_cycle_pct\x18\x01 \x01(\x01R\x0cdutyCyclePct"\x8a\x01\n\rSetPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12$\n\x0eduty_cycle_pct\x18\x03 \x01(\x01R\x0cdutyCyclePct\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x10\n\x0eSetPWMResponse"j\n\x13PWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"9\n\x14PWMFrequencyResponse\x12!\n\x0cfrequency_hz\x18\x01 \x01(\x04R\x0bfrequencyHz"\x90\x01\n\x16SetPWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12!\n\x0cfrequency_hz\x18\x03 \x01(\x04R\x0bfrequencyHz\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x19\n\x17SetPWMFrequencyResponse"\x95\x01\n\x17ReadAnalogReaderRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x12,\n\x12analog_reader_name\x18\x02 \x01(\tR\x10analogReaderName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"0\n\x18ReadAnalogReaderResponse\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value"\xa5\x01\n\x1fGetDigitalInterruptValueRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x124\n\x16digital_interrupt_name\x18\x02 \x01(\tR\x14digitalInterruptName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n GetDigitalInterruptValueResponse\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"\xe4\x01\n\x13SetPowerModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12A\n\npower_mode\x18\x02 \x01(\x0e2".viam.component.board.v1.PowerModeR\tpowerMode\x12:\n\x08duration\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x08duration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0b\n\t_duration"\x16\n\x14SetPowerModeResponse*[\n\tPowerMode\x12\x1a\n\x16POWER_MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11POWER_MODE_NORMAL\x10\x01\x12\x1b\n\x17POWER_MODE_OFFLINE_DEEP\x10\x022\xb5\x0f\n\x0cBoardService\x12\x8d\x01\n\x06Status\x12&.viam.component.board.v1.StatusRequest\x1a\'.viam.component.board.v1.StatusResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/board/{name}/status\x12\x8e\x01\n\x07SetGPIO\x12\'.viam.component.board.v1.SetGPIORequest\x1a(.viam.component.board.v1.SetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/board/{name}/gpio\x12\x8e\x01\n\x07GetGPIO\x12\'.viam.component.board.v1.GetGPIORequest\x1a(.viam.component.board.v1.GetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/component/board/{name}/gpio\x12\x81\x01\n\x03PWM\x12#.viam.component.board.v1.PWMRequest\x1a$.viam.component.board.v1.PWMResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/component/board/{name}/pwm\x12\x8a\x01\n\x06SetPWM\x12&.viam.component.board.v1.SetPWMRequest\x1a\'.viam.component.board.v1.SetPWMResponse"/\x82\xd3\xe4\x93\x02)\x1a\'/viam/api/v1/component/board/{name}/pwm\x12\xa1\x01\n\x0cPWMFrequency\x12,.viam.component.board.v1.PWMFrequencyRequest\x1a-.viam.component.board.v1.PWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/board/{name}/pwm_freq\x12\xaa\x01\n\x0fSetPWMFrequency\x12/.viam.component.board.v1.SetPWMFrequencyRequest\x1a0.viam.component.board.v1.SetPWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/component/board/{name}/pwm_freq\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command\x12\xd2\x01\n\x10ReadAnalogReader\x120.viam.component.board.v1.ReadAnalogReaderRequest\x1a1.viam.component.board.v1.ReadAnalogReaderResponse"Y\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read\x12\xf3\x01\n\x18GetDigitalInterruptValue\x128.viam.component.board.v1.GetDigitalInterruptValueRequest\x1a9.viam.component.board.v1.GetDigitalInterruptValueResponse"b\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value\x12\xa3\x01\n\x0cSetPowerMode\x12,.viam.component.board.v1.SetPowerModeRequest\x1a-.viam.component.board.v1.SetPowerModeResponse"6\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometriesBA\n\x1bcom.viam.component.board.v1Z"go.viam.com/api/component/board/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ecomponent/board/v1/board.proto\x12\x17viam.component.board.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto"R\n\rStatusRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x0eStatusResponse\x123\n\x06status\x18\x01 \x01(\x0b2\x1b.viam.common.v1.BoardStatusR\x06status"y\n\x0eSetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x12\n\x04high\x18\x03 \x01(\x08R\x04high\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x11\n\x0fSetGPIOResponse"e\n\x0eGetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"%\n\x0fGetGPIOResponse\x12\x12\n\x04high\x18\x01 \x01(\x08R\x04high"a\n\nPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"3\n\x0bPWMResponse\x12$\n\x0eduty_cycle_pct\x18\x01 \x01(\x01R\x0cdutyCyclePct"\x8a\x01\n\rSetPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12$\n\x0eduty_cycle_pct\x18\x03 \x01(\x01R\x0cdutyCyclePct\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x10\n\x0eSetPWMResponse"j\n\x13PWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"9\n\x14PWMFrequencyResponse\x12!\n\x0cfrequency_hz\x18\x01 \x01(\x04R\x0bfrequencyHz"\x90\x01\n\x16SetPWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12!\n\x0cfrequency_hz\x18\x03 \x01(\x04R\x0bfrequencyHz\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x19\n\x17SetPWMFrequencyResponse"\x95\x01\n\x17ReadAnalogReaderRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x12,\n\x12analog_reader_name\x18\x02 \x01(\tR\x10analogReaderName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"0\n\x18ReadAnalogReaderResponse\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value"\x7f\n\x12WriteAnalogRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x14\n\x05value\x18\x03 \x01(\x05R\x05value\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13WriteAnalogResponse"\xa5\x01\n\x1fGetDigitalInterruptValueRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x124\n\x16digital_interrupt_name\x18\x02 \x01(\tR\x14digitalInterruptName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n GetDigitalInterruptValueResponse\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"\xe4\x01\n\x13SetPowerModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12A\n\npower_mode\x18\x02 \x01(\x0e2".viam.component.board.v1.PowerModeR\tpowerMode\x12:\n\x08duration\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x08duration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0b\n\t_duration"\x16\n\x14SetPowerModeResponse*[\n\tPowerMode\x12\x1a\n\x16POWER_MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11POWER_MODE_NORMAL\x10\x01\x12\x1b\n\x17POWER_MODE_OFFLINE_DEEP\x10\x022\xda\x10\n\x0cBoardService\x12\x8d\x01\n\x06Status\x12&.viam.component.board.v1.StatusRequest\x1a\'.viam.component.board.v1.StatusResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/board/{name}/status\x12\x8e\x01\n\x07SetGPIO\x12\'.viam.component.board.v1.SetGPIORequest\x1a(.viam.component.board.v1.SetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/board/{name}/gpio\x12\x8e\x01\n\x07GetGPIO\x12\'.viam.component.board.v1.GetGPIORequest\x1a(.viam.component.board.v1.GetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/component/board/{name}/gpio\x12\x81\x01\n\x03PWM\x12#.viam.component.board.v1.PWMRequest\x1a$.viam.component.board.v1.PWMResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/component/board/{name}/pwm\x12\x8a\x01\n\x06SetPWM\x12&.viam.component.board.v1.SetPWMRequest\x1a\'.viam.component.board.v1.SetPWMResponse"/\x82\xd3\xe4\x93\x02)\x1a\'/viam/api/v1/component/board/{name}/pwm\x12\xa1\x01\n\x0cPWMFrequency\x12,.viam.component.board.v1.PWMFrequencyRequest\x1a-.viam.component.board.v1.PWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/board/{name}/pwm_freq\x12\xaa\x01\n\x0fSetPWMFrequency\x12/.viam.component.board.v1.SetPWMFrequencyRequest\x1a0.viam.component.board.v1.SetPWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/component/board/{name}/pwm_freq\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command\x12\xd2\x01\n\x10ReadAnalogReader\x120.viam.component.board.v1.ReadAnalogReaderRequest\x1a1.viam.component.board.v1.ReadAnalogReaderResponse"Y\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read\x12\xa2\x01\n\x0bWriteAnalog\x12+.viam.component.board.v1.WriteAnalogRequest\x1a,.viam.component.board.v1.WriteAnalogResponse"8\x82\xd3\xe4\x93\x022\x1a0/viam/api/v1/component/board/{name}/analog_write\x12\xf3\x01\n\x18GetDigitalInterruptValue\x128.viam.component.board.v1.GetDigitalInterruptValueRequest\x1a9.viam.component.board.v1.GetDigitalInterruptValueResponse"b\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value\x12\xa3\x01\n\x0cSetPowerMode\x12,.viam.component.board.v1.SetPowerModeRequest\x1a-.viam.component.board.v1.SetPowerModeResponse"6\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometriesBA\n\x1bcom.viam.component.board.v1Z"go.viam.com/api/component/board/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.board.v1.board_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -32,14 +32,16 @@ _BOARDSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command' _BOARDSERVICE.methods_by_name['ReadAnalogReader']._options = None _BOARDSERVICE.methods_by_name['ReadAnalogReader']._serialized_options = b'\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read' + _BOARDSERVICE.methods_by_name['WriteAnalog']._options = None + _BOARDSERVICE.methods_by_name['WriteAnalog']._serialized_options = b'\x82\xd3\xe4\x93\x022\x1a0/viam/api/v1/component/board/{name}/analog_write' _BOARDSERVICE.methods_by_name['GetDigitalInterruptValue']._options = None _BOARDSERVICE.methods_by_name['GetDigitalInterruptValue']._serialized_options = b'\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value' _BOARDSERVICE.methods_by_name['SetPowerMode']._options = None _BOARDSERVICE.methods_by_name['SetPowerMode']._serialized_options = b'\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode' _BOARDSERVICE.methods_by_name['GetGeometries']._options = None _BOARDSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometries' - _POWERMODE._serialized_start = 1949 - _POWERMODE._serialized_end = 2040 + _POWERMODE._serialized_start = 2101 + _POWERMODE._serialized_end = 2192 _STATUSREQUEST._serialized_start = 175 _STATUSREQUEST._serialized_end = 257 _STATUSRESPONSE._serialized_start = 259 @@ -72,13 +74,17 @@ _READANALOGREADERREQUEST._serialized_end = 1416 _READANALOGREADERRESPONSE._serialized_start = 1418 _READANALOGREADERRESPONSE._serialized_end = 1466 - _GETDIGITALINTERRUPTVALUEREQUEST._serialized_start = 1469 - _GETDIGITALINTERRUPTVALUEREQUEST._serialized_end = 1634 - _GETDIGITALINTERRUPTVALUERESPONSE._serialized_start = 1636 - _GETDIGITALINTERRUPTVALUERESPONSE._serialized_end = 1692 - _SETPOWERMODEREQUEST._serialized_start = 1695 - _SETPOWERMODEREQUEST._serialized_end = 1923 - _SETPOWERMODERESPONSE._serialized_start = 1925 - _SETPOWERMODERESPONSE._serialized_end = 1947 - _BOARDSERVICE._serialized_start = 2043 - _BOARDSERVICE._serialized_end = 4016 \ No newline at end of file + _WRITEANALOGREQUEST._serialized_start = 1468 + _WRITEANALOGREQUEST._serialized_end = 1595 + _WRITEANALOGRESPONSE._serialized_start = 1597 + _WRITEANALOGRESPONSE._serialized_end = 1618 + _GETDIGITALINTERRUPTVALUEREQUEST._serialized_start = 1621 + _GETDIGITALINTERRUPTVALUEREQUEST._serialized_end = 1786 + _GETDIGITALINTERRUPTVALUERESPONSE._serialized_start = 1788 + _GETDIGITALINTERRUPTVALUERESPONSE._serialized_end = 1844 + _SETPOWERMODEREQUEST._serialized_start = 1847 + _SETPOWERMODEREQUEST._serialized_end = 2075 + _SETPOWERMODERESPONSE._serialized_start = 2077 + _SETPOWERMODERESPONSE._serialized_end = 2099 + _BOARDSERVICE._serialized_start = 2195 + _BOARDSERVICE._serialized_end = 4333 \ No newline at end of file diff --git a/src/viam/gen/component/board/v1/board_pb2.pyi b/src/viam/gen/component/board/v1/board_pb2.pyi index 5381b8e33..602cc3488 100644 --- a/src/viam/gen/component/board/v1/board_pb2.pyi +++ b/src/viam/gen/component/board/v1/board_pb2.pyi @@ -320,6 +320,40 @@ class ReadAnalogReaderResponse(google.protobuf.message.Message): ... global___ReadAnalogReaderResponse = ReadAnalogReaderResponse +@typing_extensions.final +class WriteAnalogRequest(google.protobuf.message.Message): + """Analog Writer""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + PIN_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + EXTRA_FIELD_NUMBER: builtins.int + name: builtins.str + pin: builtins.str + value: builtins.int + + @property + def extra(self) -> google.protobuf.struct_pb2.Struct: + """Additional arguments to the method""" + + def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., value: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'pin', b'pin', 'value', b'value']) -> None: + ... +global___WriteAnalogRequest = WriteAnalogRequest + +@typing_extensions.final +class WriteAnalogResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___WriteAnalogResponse = WriteAnalogResponse + @typing_extensions.final class GetDigitalInterruptValueRequest(google.protobuf.message.Message): """Digital Interrupt""" diff --git a/src/viam/gen/service/motion/v1/motion_grpc.py b/src/viam/gen/service/motion/v1/motion_grpc.py index 24555d489..950e84273 100644 --- a/src/viam/gen/service/motion/v1/motion_grpc.py +++ b/src/viam/gen/service/motion/v1/motion_grpc.py @@ -7,6 +7,7 @@ from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 +import google.protobuf.timestamp_pb2 from .... import service class MotionServiceBase(abc.ABC): @@ -23,16 +24,32 @@ async def MoveOnMap(self, stream: 'grpclib.server.Stream[service.motion.v1.motio async def MoveOnGlobe(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse]') -> None: pass + @abc.abstractmethod + async def MoveOnGlobeNew(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnGlobeNewRequest, service.motion.v1.motion_pb2.MoveOnGlobeNewResponse]') -> None: + pass + @abc.abstractmethod async def GetPose(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse]') -> None: pass + @abc.abstractmethod + async def StopPlan(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse]') -> None: + pass + + @abc.abstractmethod + async def ListPlanStatuses(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse]') -> None: + pass + + @abc.abstractmethod + async def GetPlan(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse]') -> None: + pass + @abc.abstractmethod async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.motion.v1.MotionService/Move': grpclib.const.Handler(self.Move, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse), '/viam.service.motion.v1.MotionService/MoveOnMap': grpclib.const.Handler(self.MoveOnMap, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse), '/viam.service.motion.v1.MotionService/MoveOnGlobe': grpclib.const.Handler(self.MoveOnGlobe, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse), '/viam.service.motion.v1.MotionService/GetPose': grpclib.const.Handler(self.GetPose, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse), '/viam.service.motion.v1.MotionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return {'/viam.service.motion.v1.MotionService/Move': grpclib.const.Handler(self.Move, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse), '/viam.service.motion.v1.MotionService/MoveOnMap': grpclib.const.Handler(self.MoveOnMap, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse), '/viam.service.motion.v1.MotionService/MoveOnGlobe': grpclib.const.Handler(self.MoveOnGlobe, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse), '/viam.service.motion.v1.MotionService/MoveOnGlobeNew': grpclib.const.Handler(self.MoveOnGlobeNew, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnGlobeNewRequest, service.motion.v1.motion_pb2.MoveOnGlobeNewResponse), '/viam.service.motion.v1.MotionService/GetPose': grpclib.const.Handler(self.GetPose, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse), '/viam.service.motion.v1.MotionService/StopPlan': grpclib.const.Handler(self.StopPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse), '/viam.service.motion.v1.MotionService/ListPlanStatuses': grpclib.const.Handler(self.ListPlanStatuses, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse), '/viam.service.motion.v1.MotionService/GetPlan': grpclib.const.Handler(self.GetPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse), '/viam.service.motion.v1.MotionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} class MotionServiceStub: @@ -40,5 +57,9 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.Move = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/Move', service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse) self.MoveOnMap = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnMap', service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse) self.MoveOnGlobe = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnGlobe', service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse) + self.MoveOnGlobeNew = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnGlobeNew', service.motion.v1.motion_pb2.MoveOnGlobeNewRequest, service.motion.v1.motion_pb2.MoveOnGlobeNewResponse) self.GetPose = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/GetPose', service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse) + self.StopPlan = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/StopPlan', service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse) + self.ListPlanStatuses = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/ListPlanStatuses', service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse) + self.GetPlan = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/GetPlan', service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse) self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file diff --git a/src/viam/gen/service/motion/v1/motion_pb2.py b/src/viam/gen/service/motion/v1/motion_pb2.py index a5496a374..8c452e448 100644 --- a/src/viam/gen/service/motion/v1/motion_pb2.py +++ b/src/viam/gen/service/motion/v1/motion_pb2.py @@ -7,49 +7,92 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x9c\x02\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x11MoveOnMapResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x86\x04\n\x13MotionConfiguration\x12E\n\x0fvision_services\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\x0evisionServices\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\x8c\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"/\n\x13MoveOnGlobeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x99\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame22\xea\x05\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8b\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3') +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x9c\x02\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x11MoveOnMapResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x86\x04\n\x13MotionConfiguration\x12E\n\x0fvision_services\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\x0evisionServices\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\x8c\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"/\n\x13MoveOnGlobeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x8f\x04\n\x15MoveOnGlobeNewRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration";\n\x16MoveOnGlobeNewResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x99\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xf9\n\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\xad\x01\n\x0eMoveOnGlobeNew\x12-.viam.service.motion.v1.MoveOnGlobeNewRequest\x1a..viam.service.motion.v1.MoveOnGlobeNewResponse"<\x82\xd3\xe4\x93\x026\x124/viam/api/v1/service/motion/{name}/move_on_globe_new\x12\x8b\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.motion.v1.motion_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1' + _PLANSTEP_STEPENTRY._options = None + _PLANSTEP_STEPENTRY._serialized_options = b'8\x01' _MOTIONSERVICE.methods_by_name['Move']._options = None _MOTIONSERVICE.methods_by_name['Move']._serialized_options = b'\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move' _MOTIONSERVICE.methods_by_name['MoveOnMap']._options = None _MOTIONSERVICE.methods_by_name['MoveOnMap']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map' _MOTIONSERVICE.methods_by_name['MoveOnGlobe']._options = None _MOTIONSERVICE.methods_by_name['MoveOnGlobe']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe' + _MOTIONSERVICE.methods_by_name['MoveOnGlobeNew']._options = None + _MOTIONSERVICE.methods_by_name['MoveOnGlobeNew']._serialized_options = b'\x82\xd3\xe4\x93\x026\x124/viam/api/v1/service/motion/{name}/move_on_globe_new' _MOTIONSERVICE.methods_by_name['GetPose']._options = None _MOTIONSERVICE.methods_by_name['GetPose']._serialized_options = b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/service/motion/{name}/pose" + _MOTIONSERVICE.methods_by_name['StopPlan']._options = None + _MOTIONSERVICE.methods_by_name['StopPlan']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/motion/{name}/stop_plan' + _MOTIONSERVICE.methods_by_name['ListPlanStatuses']._options = None + _MOTIONSERVICE.methods_by_name['ListPlanStatuses']._serialized_options = b'\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses' + _MOTIONSERVICE.methods_by_name['GetPlan']._options = None + _MOTIONSERVICE.methods_by_name['GetPlan']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan' _MOTIONSERVICE.methods_by_name['DoCommand']._options = None _MOTIONSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_command' - _MOVEREQUEST._serialized_start = 143 - _MOVEREQUEST._serialized_end = 529 - _MOVERESPONSE._serialized_start = 531 - _MOVERESPONSE._serialized_end = 571 - _MOVEONMAPREQUEST._serialized_start = 574 - _MOVEONMAPREQUEST._serialized_end = 858 - _MOVEONMAPRESPONSE._serialized_start = 860 - _MOVEONMAPRESPONSE._serialized_end = 905 - _MOTIONCONFIGURATION._serialized_start = 908 - _MOTIONCONFIGURATION._serialized_end = 1426 - _MOVEONGLOBEREQUEST._serialized_start = 1429 - _MOVEONGLOBEREQUEST._serialized_end = 1953 - _MOVEONGLOBERESPONSE._serialized_start = 1955 - _MOVEONGLOBERESPONSE._serialized_end = 2002 - _GETPOSEREQUEST._serialized_start = 2005 - _GETPOSEREQUEST._serialized_end = 2286 - _GETPOSERESPONSE._serialized_start = 2288 - _GETPOSERESPONSE._serialized_end = 2354 - _CONSTRAINTS._serialized_start = 2357 - _CONSTRAINTS._serialized_end = 2664 - _LINEARCONSTRAINT._serialized_start = 2667 - _LINEARCONSTRAINT._serialized_end = 2854 - _ORIENTATIONCONSTRAINT._serialized_start = 2856 - _ORIENTATIONCONSTRAINT._serialized_end = 2977 - _COLLISIONSPECIFICATION._serialized_start = 2980 - _COLLISIONSPECIFICATION._serialized_end = 3173 - _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_start = 3101 - _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_end = 3173 - _MOTIONSERVICE._serialized_start = 3176 - _MOTIONSERVICE._serialized_end = 3922 \ No newline at end of file + _PLANSTATE._serialized_start = 5687 + _PLANSTATE._serialized_end = 5827 + _MOVEREQUEST._serialized_start = 176 + _MOVEREQUEST._serialized_end = 562 + _MOVERESPONSE._serialized_start = 564 + _MOVERESPONSE._serialized_end = 604 + _MOVEONMAPREQUEST._serialized_start = 607 + _MOVEONMAPREQUEST._serialized_end = 891 + _MOVEONMAPRESPONSE._serialized_start = 893 + _MOVEONMAPRESPONSE._serialized_end = 938 + _MOTIONCONFIGURATION._serialized_start = 941 + _MOTIONCONFIGURATION._serialized_end = 1459 + _MOVEONGLOBEREQUEST._serialized_start = 1462 + _MOVEONGLOBEREQUEST._serialized_end = 1986 + _MOVEONGLOBERESPONSE._serialized_start = 1988 + _MOVEONGLOBERESPONSE._serialized_end = 2035 + _MOVEONGLOBENEWREQUEST._serialized_start = 2038 + _MOVEONGLOBENEWREQUEST._serialized_end = 2565 + _MOVEONGLOBENEWRESPONSE._serialized_start = 2567 + _MOVEONGLOBENEWRESPONSE._serialized_end = 2626 + _GETPOSEREQUEST._serialized_start = 2629 + _GETPOSEREQUEST._serialized_end = 2910 + _GETPOSERESPONSE._serialized_start = 2912 + _GETPOSERESPONSE._serialized_end = 2978 + _STOPPLANREQUEST._serialized_start = 2981 + _STOPPLANREQUEST._serialized_end = 3134 + _STOPPLANRESPONSE._serialized_start = 3136 + _STOPPLANRESPONSE._serialized_end = 3154 + _LISTPLANSTATUSESREQUEST._serialized_start = 3157 + _LISTPLANSTATUSESREQUEST._serialized_end = 3293 + _LISTPLANSTATUSESRESPONSE._serialized_start = 3295 + _LISTPLANSTATUSESRESPONSE._serialized_end = 3416 + _GETPLANREQUEST._serialized_start = 3419 + _GETPLANREQUEST._serialized_end = 3666 + _GETPLANRESPONSE._serialized_start = 3669 + _GETPLANRESPONSE._serialized_end = 3862 + _CONSTRAINTS._serialized_start = 3865 + _CONSTRAINTS._serialized_end = 4172 + _LINEARCONSTRAINT._serialized_start = 4175 + _LINEARCONSTRAINT._serialized_end = 4362 + _ORIENTATIONCONSTRAINT._serialized_start = 4364 + _ORIENTATIONCONSTRAINT._serialized_end = 4485 + _COLLISIONSPECIFICATION._serialized_start = 4488 + _COLLISIONSPECIFICATION._serialized_end = 4681 + _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_start = 4609 + _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_end = 4681 + _PLANWITHSTATUS._serialized_start = 4684 + _PLANWITHSTATUS._serialized_end = 4885 + _PLANSTATUSWITHID._serialized_start = 4888 + _PLANSTATUSWITHID._serialized_end = 5095 + _PLANSTATUS._serialized_start = 5098 + _PLANSTATUS._serialized_end = 5265 + _PLAN._serialized_start = 5268 + _PLAN._serialized_end = 5450 + _PLANSTEP._serialized_start = 5453 + _PLANSTEP._serialized_end = 5624 + _PLANSTEP_STEPENTRY._serialized_start = 5529 + _PLANSTEP_STEPENTRY._serialized_end = 5624 + _COMPONENTSTATE._serialized_start = 5626 + _COMPONENTSTATE._serialized_end = 5684 + _MOTIONSERVICE._serialized_start = 5830 + _MOTIONSERVICE._serialized_end = 7231 \ No newline at end of file diff --git a/src/viam/gen/service/motion/v1/motion_pb2.pyi b/src/viam/gen/service/motion/v1/motion_pb2.pyi index 284205ae8..0abc62865 100644 --- a/src/viam/gen/service/motion/v1/motion_pb2.pyi +++ b/src/viam/gen/service/motion/v1/motion_pb2.pyi @@ -7,16 +7,44 @@ import collections.abc from .... import common import google.protobuf.descriptor import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 +import google.protobuf.timestamp_pb2 import sys import typing -if sys.version_info >= (3, 8): +if sys.version_info >= (3, 10): import typing as typing_extensions else: import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +class _PlanState: + ValueType = typing.NewType('ValueType', builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PlanStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PlanState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PLAN_STATE_UNSPECIFIED: _PlanState.ValueType + PLAN_STATE_IN_PROGRESS: _PlanState.ValueType + PLAN_STATE_STOPPED: _PlanState.ValueType + PLAN_STATE_SUCCEEDED: _PlanState.ValueType + PLAN_STATE_FAILED: _PlanState.ValueType + +class PlanState(_PlanState, metaclass=_PlanStateEnumTypeWrapper): + """The states that a plan can be in. + InProgress if the plan is executing. + Stopped if the plan was stopped. + Suceeded if the robot reached its destination successfully. + Failed if the robot did not reach its destination. + """ +PLAN_STATE_UNSPECIFIED: PlanState.ValueType +PLAN_STATE_IN_PROGRESS: PlanState.ValueType +PLAN_STATE_STOPPED: PlanState.ValueType +PLAN_STATE_SUCCEEDED: PlanState.ValueType +PLAN_STATE_FAILED: PlanState.ValueType +global___PlanState = PlanState + @typing_extensions.final class MoveRequest(google.protobuf.message.Message): """Moves any component on the robot to a specified destination which can be from the reference frame of any other component on the robot.""" @@ -258,6 +286,78 @@ class MoveOnGlobeResponse(google.protobuf.message.Message): ... global___MoveOnGlobeResponse = MoveOnGlobeResponse +@typing_extensions.final +class MoveOnGlobeNewRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + DESTINATION_FIELD_NUMBER: builtins.int + HEADING_FIELD_NUMBER: builtins.int + COMPONENT_NAME_FIELD_NUMBER: builtins.int + MOVEMENT_SENSOR_NAME_FIELD_NUMBER: builtins.int + OBSTACLES_FIELD_NUMBER: builtins.int + MOTION_CONFIGURATION_FIELD_NUMBER: builtins.int + EXTRA_FIELD_NUMBER: builtins.int + name: builtins.str + 'Name of the motion service' + + @property + def destination(self) -> common.v1.common_pb2.GeoPoint: + """Destination, encoded as a GeoPoint""" + heading: builtins.float + 'Optional compass heading to achieve at the destination, in degrees [0-360)' + + @property + def component_name(self) -> common.v1.common_pb2.ResourceName: + """Component on the robot to move to the specified destination""" + + @property + def movement_sensor_name(self) -> common.v1.common_pb2.ResourceName: + """Name of the movement sensor which will be used to check robot location""" + + @property + def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoObstacle]: + """Obstacles to be considered for motion planning""" + + @property + def motion_configuration(self) -> global___MotionConfiguration: + """Optional set of motion configuration options""" + + @property + def extra(self) -> google.protobuf.struct_pb2.Struct: + """Additional arguments to the method""" + + def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.GeoPoint | None=..., heading: builtins.float | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., movement_sensor_name: common.v1.common_pb2.ResourceName | None=..., obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoObstacle] | None=..., motion_configuration: global___MotionConfiguration | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['_heading', b'_heading', '_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'heading', b'heading', 'motion_configuration', b'motion_configuration', 'movement_sensor_name', b'movement_sensor_name']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['_heading', b'_heading', '_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'heading', b'heading', 'motion_configuration', b'motion_configuration', 'movement_sensor_name', b'movement_sensor_name', 'name', b'name', 'obstacles', b'obstacles']) -> None: + ... + + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal['_heading', b'_heading']) -> typing_extensions.Literal['heading'] | None: + ... + + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal['_motion_configuration', b'_motion_configuration']) -> typing_extensions.Literal['motion_configuration'] | None: + ... +global___MoveOnGlobeNewRequest = MoveOnGlobeNewRequest + +@typing_extensions.final +class MoveOnGlobeNewResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + EXECUTION_ID_FIELD_NUMBER: builtins.int + execution_id: builtins.str + 'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n ' + + def __init__(self, *, execution_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['execution_id', b'execution_id']) -> None: + ... +global___MoveOnGlobeNewResponse = MoveOnGlobeNewResponse + @typing_extensions.final class GetPoseRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -313,6 +413,151 @@ class GetPoseResponse(google.protobuf.message.Message): ... global___GetPoseResponse = GetPoseResponse +@typing_extensions.final +class StopPlanRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + COMPONENT_NAME_FIELD_NUMBER: builtins.int + EXTRA_FIELD_NUMBER: builtins.int + name: builtins.str + 'The name of the motion service' + + @property + def component_name(self) -> common.v1.common_pb2.ResourceName: + """The component of the currently executing plan to stop""" + + @property + def extra(self) -> google.protobuf.struct_pb2.Struct: + """Additional arguments to the method""" + + def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'extra', b'extra']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'extra', b'extra', 'name', b'name']) -> None: + ... +global___StopPlanRequest = StopPlanRequest + +@typing_extensions.final +class StopPlanResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___StopPlanResponse = StopPlanResponse + +@typing_extensions.final +class ListPlanStatusesRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + ONLY_ACTIVE_PLANS_FIELD_NUMBER: builtins.int + EXTRA_FIELD_NUMBER: builtins.int + name: builtins.str + 'The name of the motion service' + only_active_plans: builtins.bool + 'If supplied, the response will filter the\n plan results for the supplied state\n ' + + @property + def extra(self) -> google.protobuf.struct_pb2.Struct: + """Additional arguments to the method""" + + def __init__(self, *, name: builtins.str=..., only_active_plans: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'only_active_plans', b'only_active_plans']) -> None: + ... +global___ListPlanStatusesRequest = ListPlanStatusesRequest + +@typing_extensions.final +class ListPlanStatusesResponse(google.protobuf.message.Message): + """Status of all executed / executing plan statuses with associated IDs within the 24 hour TTL""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PLAN_STATUSES_WITH_IDS_FIELD_NUMBER: builtins.int + + @property + def plan_statuses_with_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStatusWithID]: + """List of last known statuses with the associated IDs of all plans within the TTL + ordered by timestamp in ascending order + """ + + def __init__(self, *, plan_statuses_with_ids: collections.abc.Iterable[global___PlanStatusWithID] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['plan_statuses_with_ids', b'plan_statuses_with_ids']) -> None: + ... +global___ListPlanStatusesResponse = ListPlanStatusesResponse + +@typing_extensions.final +class GetPlanRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + COMPONENT_NAME_FIELD_NUMBER: builtins.int + LAST_PLAN_ONLY_FIELD_NUMBER: builtins.int + EXECUTION_ID_FIELD_NUMBER: builtins.int + EXTRA_FIELD_NUMBER: builtins.int + name: builtins.str + 'The name of the motion service' + + @property + def component_name(self) -> common.v1.common_pb2.ResourceName: + """The name of the component which the MoveOnGlobeRequest + asked to be moved. + """ + last_plan_only: builtins.bool + 'If supplied, the response will only return\n the the last plan for the component / execution\n ' + execution_id: builtins.str + 'If you want to know about the plans of a previous execution' + + @property + def extra(self) -> google.protobuf.struct_pb2.Struct: + """Additional arguments to the method""" + + def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., last_plan_only: builtins.bool=..., execution_id: builtins.str | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['_execution_id', b'_execution_id', 'component_name', b'component_name', 'execution_id', b'execution_id', 'extra', b'extra']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['_execution_id', b'_execution_id', 'component_name', b'component_name', 'execution_id', b'execution_id', 'extra', b'extra', 'last_plan_only', b'last_plan_only', 'name', b'name']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['_execution_id', b'_execution_id']) -> typing_extensions.Literal['execution_id'] | None: + ... +global___GetPlanRequest = GetPlanRequest + +@typing_extensions.final +class GetPlanResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + CURRENT_PLAN_WITH_STATUS_FIELD_NUMBER: builtins.int + REPLAN_HISTORY_FIELD_NUMBER: builtins.int + + @property + def current_plan_with_status(self) -> global___PlanWithStatus: + """The current plan and status that matches the request query""" + + @property + def replan_history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanWithStatus]: + """Returns the history of all previous plans that were + generated in ascending order. + This field will be empty if the motion service + did not need to re-plan. + """ + + def __init__(self, *, current_plan_with_status: global___PlanWithStatus | None=..., replan_history: collections.abc.Iterable[global___PlanWithStatus] | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['current_plan_with_status', b'current_plan_with_status']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['current_plan_with_status', b'current_plan_with_status', 'replan_history', b'replan_history']) -> None: + ... +global___GetPlanResponse = GetPlanResponse + @typing_extensions.final class Constraints(google.protobuf.message.Message): """Constraints specifies all enumerated constraints to be passed to Viam's motion planning, along with any optional parameters""" @@ -423,4 +668,200 @@ class CollisionSpecification(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['allows', b'allows']) -> None: ... -global___CollisionSpecification = CollisionSpecification \ No newline at end of file +global___CollisionSpecification = CollisionSpecification + +@typing_extensions.final +class PlanWithStatus(google.protobuf.message.Message): + """Describes a plan, its current status & all status changes + that have occured previously on that plan + """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PLAN_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + STATUS_HISTORY_FIELD_NUMBER: builtins.int + + @property + def plan(self) -> global___Plan: + """The plan""" + + @property + def status(self) -> global___PlanStatus: + """The current status of the plan""" + + @property + def status_history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStatus]: + """The prior status changes that have happened during plan execution""" + + def __init__(self, *, plan: global___Plan | None=..., status: global___PlanStatus | None=..., status_history: collections.abc.Iterable[global___PlanStatus] | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['plan', b'plan', 'status', b'status']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['plan', b'plan', 'status', b'status', 'status_history', b'status_history']) -> None: + ... +global___PlanWithStatus = PlanWithStatus + +@typing_extensions.final +class PlanStatusWithID(google.protobuf.message.Message): + """PlanStatusWithID describes the state of a given plan at a + point in time plus the plan_id, component_name and execution_id + the status is associated with + """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PLAN_ID_FIELD_NUMBER: builtins.int + COMPONENT_NAME_FIELD_NUMBER: builtins.int + EXECUTION_ID_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + plan_id: builtins.str + 'The unique ID of the plan' + + @property + def component_name(self) -> common.v1.common_pb2.ResourceName: + """The component to be moved. + Used for tracking & stopping. + NOTE: A plan may move more components than just the + component_name. + """ + execution_id: builtins.str + 'The unique ID which identifies the plan execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n ' + + @property + def status(self) -> global___PlanStatus: + ... + + def __init__(self, *, plan_id: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., execution_id: builtins.str=..., status: global___PlanStatus | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'status', b'status']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'execution_id', b'execution_id', 'plan_id', b'plan_id', 'status', b'status']) -> None: + ... +global___PlanStatusWithID = PlanStatusWithID + +@typing_extensions.final +class PlanStatus(google.protobuf.message.Message): + """Plan status describes the state of a given plan at a + point in time + """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor + STATE_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + REASON_FIELD_NUMBER: builtins.int + state: global___PlanState.ValueType + 'The state of the plan execution' + + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: + """The time the executing plan transtioned to the state""" + reason: builtins.str + 'The reason for the state change. If motion plan failed\n this will return the error message.\n If motion needed to re-plan, this will return\n the re-plan reason.\n ' + + def __init__(self, *, state: global___PlanState.ValueType=..., timestamp: google.protobuf.timestamp_pb2.Timestamp | None=..., reason: builtins.str | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['_reason', b'_reason', 'reason', b'reason', 'timestamp', b'timestamp']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['_reason', b'_reason', 'reason', b'reason', 'state', b'state', 'timestamp', b'timestamp']) -> None: + ... + + def WhichOneof(self, oneof_group: typing_extensions.Literal['_reason', b'_reason']) -> typing_extensions.Literal['reason'] | None: + ... +global___PlanStatus = PlanStatus + +@typing_extensions.final +class Plan(google.protobuf.message.Message): + """A plan describes a motion plan""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + COMPONENT_NAME_FIELD_NUMBER: builtins.int + EXECUTION_ID_FIELD_NUMBER: builtins.int + STEPS_FIELD_NUMBER: builtins.int + id: builtins.str + "The plan's unique ID" + + @property + def component_name(self) -> common.v1.common_pb2.ResourceName: + """The component requested to be moved. + Used for tracking & stopping. + NOTE: A plan may move more components than just the + root component. + """ + execution_id: builtins.str + 'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning\n ' + + @property + def steps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStep]: + """The steps of a plan is an ordered list of plan steps""" + + def __init__(self, *, id: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., execution_id: builtins.str=..., steps: collections.abc.Iterable[global___PlanStep] | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'execution_id', b'execution_id', 'id', b'id', 'steps', b'steps']) -> None: + ... +global___Plan = Plan + +@typing_extensions.final +class PlanStep(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing_extensions.final + class StepEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + + @property + def value(self) -> global___ComponentState: + ... + + def __init__(self, *, key: builtins.str=..., value: global___ComponentState | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: + ... + STEP_FIELD_NUMBER: builtins.int + + @property + def step(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___ComponentState]: + """A step is the component state each + component resource should reach while executing + that step of the plan. + Keys are the fully qualified component name. + """ + + def __init__(self, *, step: collections.abc.Mapping[builtins.str, global___ComponentState] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['step', b'step']) -> None: + ... +global___PlanStep = PlanStep + +@typing_extensions.final +class ComponentState(google.protobuf.message.Message): + """A pose""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + POSE_FIELD_NUMBER: builtins.int + + @property + def pose(self) -> common.v1.common_pb2.Pose: + ... + + def __init__(self, *, pose: common.v1.common_pb2.Pose | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> None: + ... +global___ComponentState = ComponentState \ No newline at end of file diff --git a/src/viam/proto/app/__init__.py b/src/viam/proto/app/__init__.py index 270c5e7f5..3892df05b 100644 --- a/src/viam/proto/app/__init__.py +++ b/src/viam/proto/app/__init__.py @@ -7,7 +7,9 @@ AddRoleRequest, AddRoleResponse, APIKey, + APIKeyWithAuthorizations, Authorization, + AuthorizationDetails, AuthorizedPermissions, ChangeRoleRequest, ChangeRoleResponse, @@ -15,6 +17,8 @@ CheckPermissionsResponse, CreateFragmentRequest, CreateFragmentResponse, + CreateKeyFromExistingKeyAuthorizationsRequest, + CreateKeyFromExistingKeyAuthorizationsResponse, CreateKeyRequest, CreateKeyResponse, CreateLocationRequest, @@ -31,6 +35,8 @@ CreateRobotPartSecretResponse, DeleteFragmentRequest, DeleteFragmentResponse, + DeleteKeyRequest, + DeleteKeyResponse, DeleteLocationRequest, DeleteLocationResponse, DeleteLocationSecretRequest, @@ -78,6 +84,8 @@ ListAuthorizationsResponse, ListFragmentsRequest, ListFragmentsResponse, + ListKeysRequest, + ListKeysResponse, ListLocationsRequest, ListLocationsResponse, ListModulesRequest, @@ -118,6 +126,8 @@ Robot, RobotPart, RobotPartHistoryEntry, + RotateKeyRequest, + RotateKeyResponse, RoverRentalRobot, SharedSecret, ShareLocationRequest, @@ -152,9 +162,11 @@ "AppServiceBase", "AppServiceStub", "APIKey", + "APIKeyWithAuthorizations", "AddRoleRequest", "AddRoleResponse", "Authorization", + "AuthorizationDetails", "AuthorizedPermissions", "ChangeRoleRequest", "ChangeRoleResponse", @@ -162,6 +174,8 @@ "CheckPermissionsResponse", "CreateFragmentRequest", "CreateFragmentResponse", + "CreateKeyFromExistingKeyAuthorizationsRequest", + "CreateKeyFromExistingKeyAuthorizationsResponse", "CreateKeyRequest", "CreateKeyResponse", "CreateLocationRequest", @@ -178,6 +192,8 @@ "CreateRobotPartSecretResponse", "DeleteFragmentRequest", "DeleteFragmentResponse", + "DeleteKeyRequest", + "DeleteKeyResponse", "DeleteLocationRequest", "DeleteLocationResponse", "DeleteLocationSecretRequest", @@ -225,6 +241,8 @@ "ListAuthorizationsResponse", "ListFragmentsRequest", "ListFragmentsResponse", + "ListKeysRequest", + "ListKeysResponse", "ListLocationsRequest", "ListLocationsResponse", "ListModulesRequest", @@ -265,6 +283,8 @@ "Robot", "RobotPart", "RobotPartHistoryEntry", + "RotateKeyRequest", + "RotateKeyResponse", "RoverRentalRobot", "ShareLocationRequest", "ShareLocationResponse", diff --git a/src/viam/proto/app/cloudslam/__init__.py b/src/viam/proto/app/cloudslam/__init__.py index e567c34fc..d1acf5632 100644 --- a/src/viam/proto/app/cloudslam/__init__.py +++ b/src/viam/proto/app/cloudslam/__init__.py @@ -4,6 +4,7 @@ """ from ....gen.app.cloudslam.v1.cloud_slam_grpc import CloudSLAMServiceBase, CloudSLAMServiceStub from ....gen.app.cloudslam.v1.cloud_slam_pb2 import ( + CaptureInterval, GetActiveMappingSessionsForRobotRequest, GetActiveMappingSessionsForRobotResponse, GetMappingSessionMetadataByIDRequest, @@ -13,6 +14,7 @@ ListMappingSessionsRequest, ListMappingSessionsResponse, MappingMetadata, + SensorInfo, StartMappingSessionRequest, StartMappingSessionResponse, StopMappingSessionRequest, @@ -24,6 +26,7 @@ __all__ = [ "CloudSLAMServiceBase", "CloudSLAMServiceStub", + "CaptureInterval", "GetActiveMappingSessionsForRobotRequest", "GetActiveMappingSessionsForRobotResponse", "GetMappingSessionMetadataByIDRequest", @@ -33,6 +36,7 @@ "ListMappingSessionsRequest", "ListMappingSessionsResponse", "MappingMetadata", + "SensorInfo", "StartMappingSessionRequest", "StartMappingSessionResponse", "StopMappingSessionRequest", diff --git a/src/viam/proto/app/data/__init__.py b/src/viam/proto/app/data/__init__.py index 92a7f132c..e67cf6e3e 100644 --- a/src/viam/proto/app/data/__init__.py +++ b/src/viam/proto/app/data/__init__.py @@ -4,6 +4,8 @@ """ from ....gen.app.data.v1.data_grpc import DataServiceBase, DataServiceStub from ....gen.app.data.v1.data_pb2 import ( + AddBinaryDataToDatasetByIDsRequest, + AddBinaryDataToDatasetByIDsResponse, AddBoundingBoxToImageByIDRequest, AddBoundingBoxToImageByIDResponse, AddTagsToBinaryDataByFilterRequest, @@ -30,14 +32,14 @@ DeleteBinaryDataByFilterResponse, DeleteBinaryDataByIDsRequest, DeleteBinaryDataByIDsResponse, - DeleteTabularDataByFilterRequest, - DeleteTabularDataByFilterResponse, DeleteTabularDataRequest, DeleteTabularDataResponse, Filter, GetDatabaseConnectionRequest, GetDatabaseConnectionResponse, Order, + RemoveBinaryDataFromDatasetByIDsRequest, + RemoveBinaryDataFromDatasetByIDsResponse, RemoveBoundingBoxFromImageByIDRequest, RemoveBoundingBoxFromImageByIDResponse, RemoveTagsFromBinaryDataByFilterRequest, @@ -56,6 +58,8 @@ __all__ = [ "DataServiceBase", "DataServiceStub", + "AddBinaryDataToDatasetByIDsRequest", + "AddBinaryDataToDatasetByIDsResponse", "AddBoundingBoxToImageByIDRequest", "AddBoundingBoxToImageByIDResponse", "AddTagsToBinaryDataByFilterRequest", @@ -82,14 +86,14 @@ "DeleteBinaryDataByFilterResponse", "DeleteBinaryDataByIDsRequest", "DeleteBinaryDataByIDsResponse", - "DeleteTabularDataByFilterRequest", - "DeleteTabularDataByFilterResponse", "DeleteTabularDataRequest", "DeleteTabularDataResponse", "Filter", "GetDatabaseConnectionRequest", "GetDatabaseConnectionResponse", "Order", + "RemoveBinaryDataFromDatasetByIDsRequest", + "RemoveBinaryDataFromDatasetByIDsResponse", "RemoveBoundingBoxFromImageByIDRequest", "RemoveBoundingBoxFromImageByIDResponse", "RemoveTagsFromBinaryDataByFilterRequest", diff --git a/src/viam/proto/app/dataset/__init__.py b/src/viam/proto/app/dataset/__init__.py new file mode 100644 index 000000000..e6af81ea0 --- /dev/null +++ b/src/viam/proto/app/dataset/__init__.py @@ -0,0 +1,34 @@ +""" +@generated by Viam. +Do not edit manually! +""" +from ....gen.app.dataset.v1.dataset_grpc import DatasetServiceBase, DatasetServiceStub +from ....gen.app.dataset.v1.dataset_pb2 import ( + CreateDatasetRequest, + CreateDatasetResponse, + Dataset, + DeleteDatasetRequest, + DeleteDatasetResponse, + ListDatasetsByIDsRequest, + ListDatasetsByIDsResponse, + ListDatasetsByOrganizationIDRequest, + ListDatasetsByOrganizationIDResponse, + RenameDatasetRequest, + RenameDatasetResponse, +) + +__all__ = [ + "DatasetServiceBase", + "DatasetServiceStub", + "CreateDatasetRequest", + "CreateDatasetResponse", + "Dataset", + "DeleteDatasetRequest", + "DeleteDatasetResponse", + "ListDatasetsByIDsRequest", + "ListDatasetsByIDsResponse", + "ListDatasetsByOrganizationIDRequest", + "ListDatasetsByOrganizationIDResponse", + "RenameDatasetRequest", + "RenameDatasetResponse", +] diff --git a/src/viam/proto/app/end_user.py b/src/viam/proto/app/end_user.py new file mode 100644 index 000000000..1b23460a2 --- /dev/null +++ b/src/viam/proto/app/end_user.py @@ -0,0 +1,15 @@ +""" +@generated by Viam. +Do not edit manually! +""" +from ...gen.app.v1.end_user_grpc import EndUserServiceBase, EndUserServiceStub +from ...gen.app.v1.end_user_pb2 import AcceptLegalRequest, AcceptLegalResponse, IsLegalAcceptedRequest, IsLegalAcceptedResponse + +__all__ = [ + "EndUserServiceBase", + "EndUserServiceStub", + "AcceptLegalRequest", + "AcceptLegalResponse", + "IsLegalAcceptedRequest", + "IsLegalAcceptedResponse", +] diff --git a/src/viam/proto/component/board/__init__.py b/src/viam/proto/component/board/__init__.py index 833ff2eab..659fa1267 100644 --- a/src/viam/proto/component/board/__init__.py +++ b/src/viam/proto/component/board/__init__.py @@ -25,6 +25,8 @@ SetPWMResponse, StatusRequest, StatusResponse, + WriteAnalogRequest, + WriteAnalogResponse, ) __all__ = [ @@ -51,4 +53,6 @@ "SetPowerModeResponse", "StatusRequest", "StatusResponse", + "WriteAnalogRequest", + "WriteAnalogResponse", ] diff --git a/src/viam/proto/service/motion/__init__.py b/src/viam/proto/service/motion/__init__.py index 1b0996dbb..21484c8ca 100644 --- a/src/viam/proto/service/motion/__init__.py +++ b/src/viam/proto/service/motion/__init__.py @@ -5,11 +5,18 @@ from ....gen.service.motion.v1.motion_grpc import MotionServiceBase, MotionServiceStub from ....gen.service.motion.v1.motion_pb2 import ( CollisionSpecification, + ComponentState, Constraints, + GetPlanRequest, + GetPlanResponse, GetPoseRequest, GetPoseResponse, LinearConstraint, + ListPlanStatusesRequest, + ListPlanStatusesResponse, MotionConfiguration, + MoveOnGlobeNewRequest, + MoveOnGlobeNewResponse, MoveOnGlobeRequest, MoveOnGlobeResponse, MoveOnMapRequest, @@ -17,17 +24,32 @@ MoveRequest, MoveResponse, OrientationConstraint, + Plan, + PlanState, + PlanStatus, + PlanStatusWithID, + PlanStep, + PlanWithStatus, + StopPlanRequest, + StopPlanResponse, ) __all__ = [ "MotionServiceBase", "MotionServiceStub", "CollisionSpecification", + "ComponentState", "Constraints", + "GetPlanRequest", + "GetPlanResponse", "GetPoseRequest", "GetPoseResponse", "LinearConstraint", + "ListPlanStatusesRequest", + "ListPlanStatusesResponse", "MotionConfiguration", + "MoveOnGlobeNewRequest", + "MoveOnGlobeNewResponse", "MoveOnGlobeRequest", "MoveOnGlobeResponse", "MoveOnMapRequest", @@ -35,4 +57,12 @@ "MoveRequest", "MoveResponse", "OrientationConstraint", + "Plan", + "PlanState", + "PlanStatus", + "PlanStatusWithID", + "PlanStep", + "PlanWithStatus", + "StopPlanRequest", + "StopPlanResponse", ] diff --git a/tests/mocks/services.py b/tests/mocks/services.py index 7ea6a9eb9..70e711617 100644 --- a/tests/mocks/services.py +++ b/tests/mocks/services.py @@ -1,146 +1,157 @@ -from numpy.typing import NDArray -import numpy as np -from typing import Any, Dict, List, Mapping, Optional, Union from datetime import datetime +from typing import Any, Dict, List, Mapping, Optional, Union +import numpy as np from grpclib.server import Stream +from numpy.typing import NDArray from PIL import Image +from viam.app.data_client import DataClient from viam.media.video import RawImage from viam.proto.app import ( + AddRoleRequest, + AddRoleResponse, AppServiceBase, - GetUserIDByEmailRequest, - GetUserIDByEmailResponse, - CreateOrganizationRequest, - CreateOrganizationResponse, - OrganizationMember, - OrganizationInvite, - RobotPartHistoryEntry, - ListOrganizationsRequest, - ListOrganizationsResponse, - ListOrganizationsByUserRequest, Authorization, - ListOrganizationsByUserResponse, - GetOrganizationRequest, - LocationAuth, - GetOrganizationResponse, - GetOrganizationNamespaceAvailabilityRequest, - GetOrganizationNamespaceAvailabilityResponse, - UpdateOrganizationRequest, - UpdateOrganizationResponse, - DeleteOrganizationRequest, - DeleteOrganizationResponse, - ListOrganizationMembersRequest, - ListOrganizationMembersResponse, - CreateOrganizationInviteRequest, - CreateOrganizationInviteResponse, - UpdateOrganizationInviteAuthorizationsRequest, - UpdateOrganizationInviteAuthorizationsResponse, - DeleteOrganizationMemberRequest, - DeleteOrganizationMemberResponse, - DeleteOrganizationInviteRequest, - Module, - DeleteOrganizationInviteResponse, - ResendOrganizationInviteRequest, - ResendOrganizationInviteResponse, + ChangeRoleRequest, + ChangeRoleResponse, + CheckPermissionsRequest, + CheckPermissionsResponse, + CreateFragmentRequest, + CreateFragmentResponse, + CreateKeyFromExistingKeyAuthorizationsRequest, + CreateKeyFromExistingKeyAuthorizationsResponse, + CreateKeyRequest, + CreateKeyResponse, CreateLocationRequest, CreateLocationResponse, - GetLocationRequest, - GetLocationResponse, - UpdateLocationRequest, - UpdateLocationResponse, - DeleteLocationRequest, - DeleteLocationResponse, - ListLocationsRequest, - ListLocationsResponse, - ShareLocationRequest, - ShareLocationResponse, - UnshareLocationRequest, - UnshareLocationResponse, - LocationAuthRequest, - LocationAuthResponse, CreateLocationSecretRequest, CreateLocationSecretResponse, + CreateModuleRequest, + CreateModuleResponse, + CreateOrganizationInviteRequest, + CreateOrganizationInviteResponse, + CreateOrganizationRequest, + CreateOrganizationResponse, + CreateRobotPartSecretRequest, + CreateRobotPartSecretResponse, + DeleteFragmentRequest, + DeleteFragmentResponse, + DeleteKeyRequest, + DeleteKeyResponse, + DeleteLocationRequest, + DeleteLocationResponse, DeleteLocationSecretRequest, DeleteLocationSecretResponse, - GetRobotRequest, - GetRobotResponse, - GetRoverRentalRobotsRequest, - GetRoverRentalRobotsResponse, - GetRobotPartsRequest, - GetRobotPartsResponse, - GetRobotPartRequest, - GetRobotPartResponse, - GetRobotPartLogsRequest, - GetRobotPartLogsResponse, - TailRobotPartLogsRequest, - TailRobotPartLogsResponse, - GetRobotPartHistoryRequest, - GetRobotPartHistoryResponse, - UpdateRobotPartRequest, - UpdateRobotPartResponse, - NewRobotPartRequest, - NewRobotPartResponse, + DeleteOrganizationInviteRequest, + DeleteOrganizationInviteResponse, + DeleteOrganizationMemberRequest, + DeleteOrganizationMemberResponse, + DeleteOrganizationRequest, + DeleteOrganizationResponse, DeleteRobotPartRequest, DeleteRobotPartResponse, - MarkPartAsMainRequest, - MarkPartAsMainResponse, - MarkPartForRestartRequest, - MarkPartForRestartResponse, - CreateRobotPartSecretRequest, - CreateRobotPartSecretResponse, DeleteRobotPartSecretRequest, DeleteRobotPartSecretResponse, - ListRobotsRequest, - ListRobotsResponse, - NewRobotRequest, - NewRobotResponse, - UpdateRobotRequest, - UpdateRobotResponse, DeleteRobotRequest, DeleteRobotResponse, - ListFragmentsRequest, - ListFragmentsResponse, + Fragment, GetFragmentRequest, GetFragmentResponse, - CreateFragmentRequest, - CreateFragmentResponse, - UpdateFragmentRequest, - UpdateFragmentResponse, - DeleteFragmentRequest, - DeleteFragmentResponse, - AddRoleRequest, - AddRoleResponse, - Fragment, - RemoveRoleRequest, - RemoveRoleResponse, - ChangeRoleRequest, - ChangeRoleResponse, - ListAuthorizationsRequest, - ListAuthorizationsResponse, - CheckPermissionsRequest, - CheckPermissionsResponse, - CreateModuleRequest, - CreateModuleResponse, - UpdateModuleRequest, - UpdateModuleResponse, - UploadModuleFileRequest, - UploadModuleFileResponse, + GetLocationRequest, + GetLocationResponse, GetModuleRequest, GetModuleResponse, + GetOrganizationNamespaceAvailabilityRequest, + GetOrganizationNamespaceAvailabilityResponse, + GetOrganizationRequest, + GetOrganizationResponse, + GetRobotAPIKeysRequest, + GetRobotAPIKeysResponse, + GetRobotPartHistoryRequest, + GetRobotPartHistoryResponse, + GetRobotPartLogsRequest, + GetRobotPartLogsResponse, + GetRobotPartRequest, + GetRobotPartResponse, + GetRobotPartsRequest, + GetRobotPartsResponse, + GetRobotRequest, + GetRobotResponse, + GetRoverRentalRobotsRequest, + GetRoverRentalRobotsResponse, + GetUserIDByEmailRequest, + GetUserIDByEmailResponse, + ListAuthorizationsRequest, + ListAuthorizationsResponse, + ListFragmentsRequest, + ListFragmentsResponse, + ListKeysRequest, + ListKeysResponse, + ListLocationsRequest, + ListLocationsResponse, ListModulesRequest, ListModulesResponse, + ListOrganizationMembersRequest, + ListOrganizationMembersResponse, + ListOrganizationsByUserRequest, + ListOrganizationsByUserResponse, + ListOrganizationsRequest, + ListOrganizationsResponse, + ListRobotsRequest, + ListRobotsResponse, Location, + LocationAuth, + LocationAuthRequest, + LocationAuthResponse, + LogEntry, + MarkPartAsMainRequest, + MarkPartAsMainResponse, + MarkPartForRestartRequest, + MarkPartForRestartResponse, + Module, + NewRobotPartRequest, + NewRobotPartResponse, + NewRobotRequest, + NewRobotResponse, Organization, + OrganizationInvite, + OrganizationMember, + RemoveRoleRequest, + RemoveRoleResponse, + ResendOrganizationInviteRequest, + ResendOrganizationInviteResponse, Robot, RobotPart, - LogEntry, - CreateKeyRequest, - CreateKeyResponse, - GetRobotAPIKeysRequest, - GetRobotAPIKeysResponse, + RobotPartHistoryEntry, + RotateKeyRequest, + RotateKeyResponse, + ShareLocationRequest, + ShareLocationResponse, + TailRobotPartLogsRequest, + TailRobotPartLogsResponse, + UnshareLocationRequest, + UnshareLocationResponse, + UpdateFragmentRequest, + UpdateFragmentResponse, + UpdateLocationRequest, + UpdateLocationResponse, + UpdateModuleRequest, + UpdateModuleResponse, + UpdateOrganizationInviteAuthorizationsRequest, + UpdateOrganizationInviteAuthorizationsResponse, + UpdateOrganizationRequest, + UpdateOrganizationResponse, + UpdateRobotPartRequest, + UpdateRobotPartResponse, + UpdateRobotRequest, + UpdateRobotResponse, + UploadModuleFileRequest, + UploadModuleFileResponse, ) from viam.proto.app.data import ( + AddBinaryDataToDatasetByIDsRequest, + AddBinaryDataToDatasetByIDsResponse, AddBoundingBoxToImageByIDRequest, AddBoundingBoxToImageByIDResponse, AddTagsToBinaryDataByFilterRequest, @@ -163,10 +174,10 @@ DeleteBinaryDataByIDsResponse, DeleteTabularDataRequest, DeleteTabularDataResponse, - DeleteTabularDataByFilterRequest, - DeleteTabularDataByFilterResponse, GetDatabaseConnectionRequest, GetDatabaseConnectionResponse, + RemoveBinaryDataFromDatasetByIDsRequest, + RemoveBinaryDataFromDatasetByIDsResponse, RemoveBoundingBoxFromImageByIDRequest, RemoveBoundingBoxFromImageByIDResponse, RemoveTagsFromBinaryDataByFilterRequest, @@ -190,30 +201,38 @@ ) from viam.proto.common import DoCommandRequest, DoCommandResponse, GeoObstacle, GeoPoint, PointCloudObject, Pose, PoseInFrame, ResourceName from viam.proto.service.mlmodel import ( - FlatTensors, FlatTensor, FlatTensorDataDouble, FlatTensorDataFloat, + FlatTensorDataInt8, FlatTensorDataInt16, FlatTensorDataInt32, FlatTensorDataInt64, - FlatTensorDataInt8, + FlatTensorDataUInt8, FlatTensorDataUInt16, FlatTensorDataUInt32, FlatTensorDataUInt64, - FlatTensorDataUInt8, + FlatTensors, ) from viam.proto.service.motion import ( Constraints, + GetPlanRequest, + GetPlanResponse, GetPoseRequest, GetPoseResponse, + ListPlanStatusesRequest, + ListPlanStatusesResponse, MotionServiceBase, + MoveOnGlobeNewRequest, + MoveOnGlobeNewResponse, MoveOnGlobeRequest, MoveOnGlobeResponse, MoveOnMapRequest, MoveOnMapResponse, MoveRequest, MoveResponse, + StopPlanRequest, + StopPlanResponse, ) from viam.proto.service.navigation import Mode, Waypoint from viam.proto.service.sensors import ( @@ -225,9 +244,8 @@ SensorsServiceBase, ) from viam.proto.service.vision import Classification, Detection -from viam.app.data_client import DataClient from viam.services.mlmodel import File, LabelType, Metadata, MLModel, TensorInfo -from viam.services.mlmodel.utils import ndarrays_to_flat_tensors, flat_tensors_to_ndarrays +from viam.services.mlmodel.utils import flat_tensors_to_ndarrays, ndarrays_to_flat_tensors from viam.services.navigation import Navigation from viam.services.slam import SLAM from viam.services.vision import Vision @@ -441,6 +459,18 @@ async def GetPose(self, stream: Stream[GetPoseRequest, GetPoseResponse]) -> None response = GetPoseResponse(pose=pose) await stream.send_message(response) + async def MoveOnGlobeNew(self, stream: Stream[MoveOnGlobeNewRequest, MoveOnGlobeNewResponse]) -> None: + raise NotImplementedError() + + async def StopPlan(self, stream: Stream[StopPlanRequest, StopPlanResponse]) -> None: + raise NotImplementedError() + + async def ListPlanStatuses(self, stream: Stream[ListPlanStatusesRequest, ListPlanStatusesResponse]) -> None: + raise NotImplementedError() + + async def GetPlan(self, stream: Stream[GetPlanRequest, GetPlanResponse]) -> None: + raise NotImplementedError() + async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: request = await stream.recv_message() assert request is not None @@ -616,9 +646,6 @@ async def BinaryDataByIDs(self, stream: Stream[BinaryDataByIDsRequest, BinaryDat BinaryDataByIDsResponse(data=[BinaryData(binary=data.data, metadata=data.metadata) for data in self.binary_response]) ) - async def DeleteTabularDataByFilter(self, stream: Stream[DeleteTabularDataByFilterRequest, DeleteTabularDataByFilterResponse]) -> None: - raise NotImplementedError() - async def DeleteTabularData(self, stream: Stream[DeleteTabularDataRequest, DeleteTabularDataResponse]) -> None: request = await stream.recv_message() assert request is not None @@ -701,6 +728,16 @@ async def GetDatabaseConnection(self, stream: Stream[GetDatabaseConnectionReques async def ConfigureDatabaseUser(self, stream: Stream[ConfigureDatabaseUserRequest, ConfigureDatabaseUserResponse]) -> None: raise NotImplementedError() + async def AddBinaryDataToDatasetByIDs( + self, stream: Stream[AddBinaryDataToDatasetByIDsRequest, AddBinaryDataToDatasetByIDsResponse] + ) -> None: + raise NotImplementedError() + + async def RemoveBinaryDataFromDatasetByIDs( + self, stream: Stream[RemoveBinaryDataFromDatasetByIDsRequest, RemoveBinaryDataFromDatasetByIDsResponse] + ) -> None: + raise NotImplementedError() + class MockDataSync(DataSyncServiceBase): def __init__(self, file_upload_response: str): @@ -1106,3 +1143,17 @@ async def CreateKey(self, stream: Stream[CreateKeyRequest, CreateKeyResponse]) - async def GetRobotAPIKeys(self, stream: Stream[GetRobotAPIKeysRequest, GetRobotAPIKeysResponse]) -> None: raise NotImplementedError() + + async def DeleteKey(self, stream: Stream[DeleteKeyRequest, DeleteKeyResponse]) -> None: + raise NotImplementedError() + + async def ListKeys(self, stream: Stream[ListKeysRequest, ListKeysResponse]) -> None: + raise NotImplementedError() + + async def RotateKey(self, stream: Stream[RotateKeyRequest, RotateKeyResponse]) -> None: + raise NotImplementedError() + + async def CreateKeyFromExistingKeyAuthorizations( + self, stream: Stream[CreateKeyFromExistingKeyAuthorizationsRequest, CreateKeyFromExistingKeyAuthorizationsResponse] + ) -> None: + raise NotImplementedError()