viam-sdk 0.44.1__py3-none-linux_armv7l.whl → 0.45.1__py3-none-linux_armv7l.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of viam-sdk might be problematic. Click here for more details.
- viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +4 -4
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +11 -11
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +24 -24
- viam/gen/app/v1/app_grpc.py +9 -1
- viam/gen/app/v1/app_pb2.py +511 -507
- viam/gen/app/v1/app_pb2.pyi +63 -6
- viam/gen/app/v1/robot_pb2.py +68 -68
- viam/gen/app/v1/robot_pb2.pyi +4 -2
- viam/module/module.py +4 -1
- viam/module/service.py +9 -1
- viam/proto/app/__init__.py +4 -0
- viam/proto/app/datapipelines/__init__.py +8 -8
- viam/robot/client.py +6 -3
- viam/rpc/dial.py +12 -2
- viam/rpc/libviam_rust_utils.so +0 -0
- viam/sessions_client.py +27 -4
- viam/version_metadata.py +2 -2
- {viam_sdk-0.44.1.dist-info → viam_sdk-0.45.1.dist-info}/METADATA +7 -3
- {viam_sdk-0.44.1.dist-info → viam_sdk-0.45.1.dist-info}/RECORD +21 -21
- {viam_sdk-0.44.1.dist-info → viam_sdk-0.45.1.dist-info}/WHEEL +0 -0
- {viam_sdk-0.44.1.dist-info → viam_sdk-0.45.1.dist-info}/licenses/LICENSE +0 -0
viam/gen/app/v1/app_pb2.pyi
CHANGED
|
@@ -614,6 +614,46 @@ class UpdateOrganizationResponse(google.protobuf.message.Message):
|
|
|
614
614
|
...
|
|
615
615
|
global___UpdateOrganizationResponse = UpdateOrganizationResponse
|
|
616
616
|
|
|
617
|
+
@typing.final
|
|
618
|
+
class UpdateOrganizationNamespaceRequest(google.protobuf.message.Message):
|
|
619
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
620
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
621
|
+
NEW_PUBLIC_NAMESPACE_FIELD_NUMBER: builtins.int
|
|
622
|
+
organization_id: builtins.str
|
|
623
|
+
new_public_namespace: builtins.str
|
|
624
|
+
|
|
625
|
+
def __init__(self, *, organization_id: builtins.str=..., new_public_namespace: builtins.str | None=...) -> None:
|
|
626
|
+
...
|
|
627
|
+
|
|
628
|
+
def HasField(self, field_name: typing.Literal['_new_public_namespace', b'_new_public_namespace', 'new_public_namespace', b'new_public_namespace']) -> builtins.bool:
|
|
629
|
+
...
|
|
630
|
+
|
|
631
|
+
def ClearField(self, field_name: typing.Literal['_new_public_namespace', b'_new_public_namespace', 'new_public_namespace', b'new_public_namespace', 'organization_id', b'organization_id']) -> None:
|
|
632
|
+
...
|
|
633
|
+
|
|
634
|
+
def WhichOneof(self, oneof_group: typing.Literal['_new_public_namespace', b'_new_public_namespace']) -> typing.Literal['new_public_namespace'] | None:
|
|
635
|
+
...
|
|
636
|
+
global___UpdateOrganizationNamespaceRequest = UpdateOrganizationNamespaceRequest
|
|
637
|
+
|
|
638
|
+
@typing.final
|
|
639
|
+
class UpdateOrganizationNamespaceResponse(google.protobuf.message.Message):
|
|
640
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
641
|
+
ORGANIZATION_FIELD_NUMBER: builtins.int
|
|
642
|
+
|
|
643
|
+
@property
|
|
644
|
+
def organization(self) -> global___Organization:
|
|
645
|
+
...
|
|
646
|
+
|
|
647
|
+
def __init__(self, *, organization: global___Organization | None=...) -> None:
|
|
648
|
+
...
|
|
649
|
+
|
|
650
|
+
def HasField(self, field_name: typing.Literal['organization', b'organization']) -> builtins.bool:
|
|
651
|
+
...
|
|
652
|
+
|
|
653
|
+
def ClearField(self, field_name: typing.Literal['organization', b'organization']) -> None:
|
|
654
|
+
...
|
|
655
|
+
global___UpdateOrganizationNamespaceResponse = UpdateOrganizationNamespaceResponse
|
|
656
|
+
|
|
617
657
|
@typing.final
|
|
618
658
|
class DeleteOrganizationRequest(google.protobuf.message.Message):
|
|
619
659
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
@@ -1993,6 +2033,7 @@ class UpdateRobotPartRequest(google.protobuf.message.Message):
|
|
|
1993
2033
|
ID_FIELD_NUMBER: builtins.int
|
|
1994
2034
|
NAME_FIELD_NUMBER: builtins.int
|
|
1995
2035
|
ROBOT_CONFIG_FIELD_NUMBER: builtins.int
|
|
2036
|
+
LAST_KNOWN_UPDATE_FIELD_NUMBER: builtins.int
|
|
1996
2037
|
id: builtins.str
|
|
1997
2038
|
name: builtins.str
|
|
1998
2039
|
|
|
@@ -2000,13 +2041,20 @@ class UpdateRobotPartRequest(google.protobuf.message.Message):
|
|
|
2000
2041
|
def robot_config(self) -> google.protobuf.struct_pb2.Struct:
|
|
2001
2042
|
...
|
|
2002
2043
|
|
|
2003
|
-
|
|
2044
|
+
@property
|
|
2045
|
+
def last_known_update(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
2004
2046
|
...
|
|
2005
2047
|
|
|
2006
|
-
def
|
|
2048
|
+
def __init__(self, *, id: builtins.str=..., name: builtins.str=..., robot_config: google.protobuf.struct_pb2.Struct | None=..., last_known_update: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
|
|
2007
2049
|
...
|
|
2008
2050
|
|
|
2009
|
-
def
|
|
2051
|
+
def HasField(self, field_name: typing.Literal['_last_known_update', b'_last_known_update', 'last_known_update', b'last_known_update', 'robot_config', b'robot_config']) -> builtins.bool:
|
|
2052
|
+
...
|
|
2053
|
+
|
|
2054
|
+
def ClearField(self, field_name: typing.Literal['_last_known_update', b'_last_known_update', 'id', b'id', 'last_known_update', b'last_known_update', 'name', b'name', 'robot_config', b'robot_config']) -> None:
|
|
2055
|
+
...
|
|
2056
|
+
|
|
2057
|
+
def WhichOneof(self, oneof_group: typing.Literal['_last_known_update', b'_last_known_update']) -> typing.Literal['last_known_update'] | None:
|
|
2010
2058
|
...
|
|
2011
2059
|
global___UpdateRobotPartRequest = UpdateRobotPartRequest
|
|
2012
2060
|
|
|
@@ -2548,6 +2596,7 @@ class UpdateFragmentRequest(google.protobuf.message.Message):
|
|
|
2548
2596
|
CONFIG_FIELD_NUMBER: builtins.int
|
|
2549
2597
|
PUBLIC_FIELD_NUMBER: builtins.int
|
|
2550
2598
|
VISIBILITY_FIELD_NUMBER: builtins.int
|
|
2599
|
+
LAST_KNOWN_UPDATE_FIELD_NUMBER: builtins.int
|
|
2551
2600
|
id: builtins.str
|
|
2552
2601
|
name: builtins.str
|
|
2553
2602
|
public: builtins.bool
|
|
@@ -2557,13 +2606,21 @@ class UpdateFragmentRequest(google.protobuf.message.Message):
|
|
|
2557
2606
|
def config(self) -> google.protobuf.struct_pb2.Struct:
|
|
2558
2607
|
...
|
|
2559
2608
|
|
|
2560
|
-
|
|
2609
|
+
@property
|
|
2610
|
+
def last_known_update(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
2611
|
+
...
|
|
2612
|
+
|
|
2613
|
+
def __init__(self, *, id: builtins.str=..., name: builtins.str=..., config: google.protobuf.struct_pb2.Struct | None=..., public: builtins.bool | None=..., visibility: global___FragmentVisibility.ValueType | None=..., last_known_update: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
|
|
2561
2614
|
...
|
|
2562
2615
|
|
|
2563
|
-
def HasField(self, field_name: typing.Literal['_public', b'_public', '_visibility', b'_visibility', 'config', b'config', 'public', b'public', 'visibility', b'visibility']) -> builtins.bool:
|
|
2616
|
+
def HasField(self, field_name: typing.Literal['_last_known_update', b'_last_known_update', '_public', b'_public', '_visibility', b'_visibility', 'config', b'config', 'last_known_update', b'last_known_update', 'public', b'public', 'visibility', b'visibility']) -> builtins.bool:
|
|
2564
2617
|
...
|
|
2565
2618
|
|
|
2566
|
-
def ClearField(self, field_name: typing.Literal['_public', b'_public', '_visibility', b'_visibility', 'config', b'config', 'id', b'id', 'name', b'name', 'public', b'public', 'visibility', b'visibility']) -> None:
|
|
2619
|
+
def ClearField(self, field_name: typing.Literal['_last_known_update', b'_last_known_update', '_public', b'_public', '_visibility', b'_visibility', 'config', b'config', 'id', b'id', 'last_known_update', b'last_known_update', 'name', b'name', 'public', b'public', 'visibility', b'visibility']) -> None:
|
|
2620
|
+
...
|
|
2621
|
+
|
|
2622
|
+
@typing.overload
|
|
2623
|
+
def WhichOneof(self, oneof_group: typing.Literal['_last_known_update', b'_last_known_update']) -> typing.Literal['last_known_update'] | None:
|
|
2567
2624
|
...
|
|
2568
2625
|
|
|
2569
2626
|
@typing.overload
|
viam/gen/app/v1/robot_pb2.py
CHANGED
|
@@ -10,7 +10,7 @@ from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
|
|
|
10
10
|
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
|
|
11
11
|
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
12
12
|
from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2
|
|
13
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12app/v1/robot.proto\x12\x0bviam.app.v1\x1a\x16common/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\xf5\x07\n\x0bRobotConfig\x12.\n\x05cloud\x18\x01 \x01(\x0b2\x18.viam.app.v1.CloudConfigR\x05cloud\x123\n\x07remotes\x18\x02 \x03(\x0b2\x19.viam.app.v1.RemoteConfigR\x07remotes\x12<\n\ncomponents\x18\x03 \x03(\x0b2\x1c.viam.app.v1.ComponentConfigR\ncomponents\x128\n\tprocesses\x18\x04 \x03(\x0b2\x1a.viam.app.v1.ProcessConfigR\tprocesses\x126\n\x08services\x18\x05 \x03(\x0b2\x1a.viam.app.v1.ServiceConfigR\x08services\x129\n\x07network\x18\x06 \x01(\x0b2\x1a.viam.app.v1.NetworkConfigH\x00R\x07network\x88\x01\x01\x120\n\x04auth\x18\x07 \x01(\x0b2\x17.viam.app.v1.AuthConfigH\x01R\x04auth\x88\x01\x01\x12\x19\n\x05debug\x18\x08 \x01(\x08H\x02R\x05debug\x88\x01\x01\x123\n\x07modules\x18\t \x03(\x0b2\x19.viam.app.v1.ModuleConfigR\x07modules\x127\n\x15disable_partial_start\x18\n \x01(\x08H\x03R\x13disablePartialStart\x88\x01\x01\x126\n\x08packages\x18\x0b \x03(\x0b2\x1a.viam.app.v1.PackageConfigR\x08packages\x12\\\n\x19overwrite_fragment_status\x18\x0c \x03(\x0b2 .viam.app.v1.AppValidationStatusR\x17overwriteFragmentStatus\x12,\n\x12enable_web_profile\x18\r \x01(\x08R\x10enableWebProfile\x12/\n\x03log\x18\x0e \x03(\x0b2\x1d.viam.app.v1.LogPatternConfigR\x03log\x12\x1a\n\x08revision\x18\x0f \x01(\tR\x08revision\x12E\n\x0bmaintenance\x18\x10 \x01(\x0b2\x1e.viam.app.v1.MaintenanceConfigH\x04R\x0bmaintenance\x88\x01\x01\x12:\n\x19disable_log_deduplication\x18\x11 \x01(\x08R\x17disableLogDeduplicationB\n\n\x08_networkB\x07\n\x05_authB\x08\n\x06_debugB\x18\n\x16_disable_partial_startB\x0e\n\x0c_maintenance"B\n\x10LogPatternConfig\x12\x18\n\x07pattern\x18\x01 \x01(\tR\x07pattern\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level"8\n\x0eLocationSecret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret"+\n\x13AppValidationStatus\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error"\xbe\x03\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04fqdn\x18\x02 \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x03 \x01(\tR\tlocalFqdn\x12\x1d\n\nmanaged_by\x18\x04 \x01(\tR\tmanagedBy\x12+\n\x11signaling_address\x18\x05 \x01(\tR\x10signalingAddress\x12-\n\x12signaling_insecure\x18\x06 \x01(\x08R\x11signalingInsecure\x12+\n\x0flocation_secret\x18\x07 \x01(\tB\x02\x18\x01R\x0elocationSecret\x12\x16\n\x06secret\x18\x08 \x01(\tR\x06secret\x12F\n\x10location_secrets\x18\t \x03(\x0b2\x1b.viam.app.v1.LocationSecretR\x0flocationSecrets\x12$\n\x0eprimary_org_id\x18\n \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x0b \x01(\tR\nlocationId\x12\x1d\n\nmachine_id\x18\x0c \x01(\tR\tmachineId"\xbb\x03\n\x0fComponentConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n\x05model\x18\x04 \x01(\tR\x05model\x12(\n\x05frame\x18\x05 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12\x1d\n\ndepends_on\x18\x06 \x03(\tR\tdependsOn\x12l\n\x0fservice_configs\x18\x07 \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x127\n\nattributes\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12J\n\x11log_configuration\x18\n \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"i\n\x1aResourceLevelServiceConfig\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x127\n\nattributes\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"\xf0\x02\n\rProcessConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04args\x18\x03 \x03(\tR\x04args\x12\x10\n\x03cwd\x18\x04 \x01(\tR\x03cwd\x12\x19\n\x08one_shot\x18\x05 \x01(\x08R\x07oneShot\x12\x10\n\x03log\x18\x06 \x01(\x08R\x03log\x12\x1f\n\x0bstop_signal\x18\x07 \x01(\x05R\nstopSignal\x12<\n\x0cstop_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0bstopTimeout\x125\n\x03env\x18\t \x03(\x0b2#.viam.app.v1.ProcessConfig.EnvEntryR\x03env\x12\x1a\n\x08username\x18\n \x01(\tR\x08username\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\x8f\x03\n\rServiceConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x1d\n\ndepends_on\x18\x05 \x03(\tR\tdependsOn\x12\x14\n\x05model\x18\x06 \x01(\tR\x05model\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12l\n\x0fservice_configs\x18\n \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12J\n\x11log_configuration\x18\x0b \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"\xa3\x02\n\rNetworkConfig\x12\x12\n\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12!\n\x0cbind_address\x18\x02 \x01(\tR\x0bbindAddress\x12"\n\rtls_cert_file\x18\x03 \x01(\tR\x0btlsCertFile\x12 \n\x0ctls_key_file\x18\x04 \x01(\tR\ntlsKeyFile\x127\n\x08sessions\x18\x05 \x01(\x0b2\x1b.viam.app.v1.SessionsConfigR\x08sessions\x12\\\n\x18traffic_tunnel_endpoints\x18\x06 \x03(\x0b2".viam.app.v1.TrafficTunnelEndpointR\x16trafficTunnelEndpoints"V\n\x0eSessionsConfig\x12D\n\x10heartbeat_window\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"u\n\x15TrafficTunnelEndpoint\x12\x12\n\x04port\x18\x01 \x01(\x05R\x04port\x12H\n\x12connection_timeout\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x11connectionTimeout"\xe5\x01\n\nAuthConfig\x12:\n\x08handlers\x18\x01 \x03(\x0b2\x1e.viam.app.v1.AuthHandlerConfigR\x08handlers\x12*\n\x11tls_auth_entities\x18\x02 \x03(\tR\x0ftlsAuthEntities\x12V\n\x14external_auth_config\x18\x03 \x01(\x0b2\x1f.viam.app.v1.ExternalAuthConfigH\x00R\x12externalAuthConfig\x88\x01\x01B\x17\n\x15_external_auth_config"7\n\x08JWKSFile\x12+\n\x04json\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04json"?\n\x12ExternalAuthConfig\x12)\n\x04jwks\x18\x01 \x01(\x0b2\x15.viam.app.v1.JWKSFileR\x04jwks"v\n\x11AuthHandlerConfig\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12/\n\x06config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x06config"\xcd\x01\n\x05Frame\x12\x16\n\x06parent\x18\x01 \x01(\tR\x06parent\x12:\n\x0btranslation\x18\x02 \x01(\x0b2\x18.viam.app.v1.TranslationR\x0btranslation\x12:\n\x0borientation\x18\x03 \x01(\x0b2\x18.viam.app.v1.OrientationR\x0borientation\x124\n\x08geometry\x18\x04 \x01(\x0b2\x18.viam.common.v1.GeometryR\x08geometry"(\n\x10LogConfiguration\x12\x14\n\x05level\x18\x01 \x01(\tR\x05level"7\n\x0bTranslation\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"\xd0\x07\n\x0bOrientation\x12O\n\x0eno_orientation\x18\x01 \x01(\x0b2&.viam.app.v1.Orientation.NoOrientationH\x00R\rnoOrientation\x12Z\n\x0evector_radians\x18\x02 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorRadiansH\x00R\rvectorRadians\x12Z\n\x0evector_degrees\x18\x03 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorDegreesH\x00R\rvectorDegrees\x12I\n\x0ceuler_angles\x18\x04 \x01(\x0b2$.viam.app.v1.Orientation.EulerAnglesH\x00R\x0beulerAngles\x12F\n\x0baxis_angles\x18\x05 \x01(\x0b2#.viam.app.v1.Orientation.AxisAnglesH\x00R\naxisAngles\x12E\n\nquaternion\x18\x06 \x01(\x0b2#.viam.app.v1.Orientation.QuaternionH\x00R\nquaternion\x1a\x0f\n\rNoOrientation\x1aj\n\x18OrientationVectorRadians\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aj\n\x18OrientationVectorDegrees\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aI\n\x0bEulerAngles\x12\x12\n\x04roll\x18\x01 \x01(\x01R\x04roll\x12\x14\n\x05pitch\x18\x02 \x01(\x01R\x05pitch\x12\x10\n\x03yaw\x18\x03 \x01(\x01R\x03yaw\x1a\\\n\nAxisAngles\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aD\n\nQuaternion\x12\x0c\n\x01w\x18\x01 \x01(\x01R\x01w\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01zB\x06\n\x04type"\xf5\x03\n\x0cRemoteConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07address\x18\x02 \x01(\tR\x07address\x12(\n\x05frame\x18\x03 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12+\n\x04auth\x18\x04 \x01(\x0b2\x17.viam.app.v1.RemoteAuthR\x04auth\x12\x1d\n\nmanaged_by\x18\x05 \x01(\tR\tmanagedBy\x12\x1a\n\x08insecure\x18\x06 \x01(\x08R\x08insecure\x12U\n\x19connection_check_interval\x18\x07 \x01(\x0b2\x19.google.protobuf.DurationR\x17connectionCheckInterval\x12H\n\x12reconnect_interval\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x11reconnectInterval\x12l\n\x0fservice_configs\x18\t \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12\x16\n\x06secret\x18\n \x01(\tR\x06secret"\xc6\x01\n\nRemoteAuth\x12E\n\x0bcredentials\x18\x01 \x01(\x0b2#.viam.app.v1.RemoteAuth.CredentialsR\x0bcredentials\x12\x16\n\x06entity\x18\x02 \x01(\tR\x06entity\x1aY\n\x0bCredentials\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"\xd1\x01\n\tAgentInfo\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x0e\n\x02os\x18\x02 \x01(\tR\x02os\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12!\n\x0cgit_revision\x18\x05 \x01(\tR\x0bgitRevision\x12\x1f\n\x08platform\x18\x06 \x01(\tH\x00R\x08platform\x88\x01\x01\x12#\n\rplatform_tags\x18\x07 \x03(\tR\x0cplatformTagsB\x0b\n\t_platform"j\n\rConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\nagent_info\x18\x02 \x01(\x0b2\x16.viam.app.v1.AgentInfoH\x00R\tagentInfo\x88\x01\x01B\r\n\x0b_agent_info"B\n\x0eConfigResponse\x120\n\x06config\x18\x01 \x01(\x0b2\x18.viam.app.v1.RobotConfigR\x06config"$\n\x12CertificateRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"v\n\x13CertificateResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0ftls_certificate\x18\x02 \x01(\tR\x0etlsCertificate\x12&\n\x0ftls_private_key\x18\x03 \x01(\tR\rtlsPrivateKey"J\n\nLogRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x04logs\x18\x02 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"%\n\x13NeedsRestartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9a\x01\n\x14NeedsRestartResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cmust_restart\x18\x02 \x01(\x08R\x0bmustRestart\x12O\n\x16restart_check_interval\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x14restartCheckInterval"\xf3\x02\n\x0cModuleConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\tlog_level\x18\x03 \x01(\tR\x08logLevel\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x1b\n\tmodule_id\x18\x05 \x01(\tR\x08moduleId\x124\n\x03env\x18\x06 \x03(\x0b2".viam.app.v1.ModuleConfig.EnvEntryR\x03env\x128\n\x06status\x18\x07 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status\x12E\n\x11first_run_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0ffirstRunTimeout\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa5\x01\n\rPackageConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x128\n\x06status\x18\x05 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status"\x8a\x01\n\x11MaintenanceConfig\x12=\n\x0bsensor_name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\nsensorName\x126\n\x17maintenance_allowed_key\x18\x02 \x01(\tR\x15maintenanceAllowedKey*\xbf\x01\n\x0fCredentialsType\x12 \n\x1cCREDENTIALS_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CREDENTIALS_TYPE_INTERNAL\x10\x01\x12\x1c\n\x18CREDENTIALS_TYPE_API_KEY\x10\x02\x12!\n\x1dCREDENTIALS_TYPE_ROBOT_SECRET\x10\x03\x12*\n&CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET\x10\x042\xb2\x02\n\x0cRobotService\x12A\n\x06Config\x12\x1a.viam.app.v1.ConfigRequest\x1a\x1b.viam.app.v1.ConfigResponse\x12P\n\x0bCertificate\x12\x1f.viam.app.v1.CertificateRequest\x1a .viam.app.v1.CertificateResponse\x128\n\x03Log\x12\x17.viam.app.v1.LogRequest\x1a\x18.viam.app.v1.LogResponse\x12S\n\x0cNeedsRestart\x12 .viam.app.v1.NeedsRestartRequest\x1a!.viam.app.v1.NeedsRestartResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3')
|
|
13
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12app/v1/robot.proto\x12\x0bviam.app.v1\x1a\x16common/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\xf5\x07\n\x0bRobotConfig\x12.\n\x05cloud\x18\x01 \x01(\x0b2\x18.viam.app.v1.CloudConfigR\x05cloud\x123\n\x07remotes\x18\x02 \x03(\x0b2\x19.viam.app.v1.RemoteConfigR\x07remotes\x12<\n\ncomponents\x18\x03 \x03(\x0b2\x1c.viam.app.v1.ComponentConfigR\ncomponents\x128\n\tprocesses\x18\x04 \x03(\x0b2\x1a.viam.app.v1.ProcessConfigR\tprocesses\x126\n\x08services\x18\x05 \x03(\x0b2\x1a.viam.app.v1.ServiceConfigR\x08services\x129\n\x07network\x18\x06 \x01(\x0b2\x1a.viam.app.v1.NetworkConfigH\x00R\x07network\x88\x01\x01\x120\n\x04auth\x18\x07 \x01(\x0b2\x17.viam.app.v1.AuthConfigH\x01R\x04auth\x88\x01\x01\x12\x19\n\x05debug\x18\x08 \x01(\x08H\x02R\x05debug\x88\x01\x01\x123\n\x07modules\x18\t \x03(\x0b2\x19.viam.app.v1.ModuleConfigR\x07modules\x127\n\x15disable_partial_start\x18\n \x01(\x08H\x03R\x13disablePartialStart\x88\x01\x01\x126\n\x08packages\x18\x0b \x03(\x0b2\x1a.viam.app.v1.PackageConfigR\x08packages\x12\\\n\x19overwrite_fragment_status\x18\x0c \x03(\x0b2 .viam.app.v1.AppValidationStatusR\x17overwriteFragmentStatus\x12,\n\x12enable_web_profile\x18\r \x01(\x08R\x10enableWebProfile\x12/\n\x03log\x18\x0e \x03(\x0b2\x1d.viam.app.v1.LogPatternConfigR\x03log\x12\x1a\n\x08revision\x18\x0f \x01(\tR\x08revision\x12E\n\x0bmaintenance\x18\x10 \x01(\x0b2\x1e.viam.app.v1.MaintenanceConfigH\x04R\x0bmaintenance\x88\x01\x01\x12:\n\x19disable_log_deduplication\x18\x11 \x01(\x08R\x17disableLogDeduplicationB\n\n\x08_networkB\x07\n\x05_authB\x08\n\x06_debugB\x18\n\x16_disable_partial_startB\x0e\n\x0c_maintenance"B\n\x10LogPatternConfig\x12\x18\n\x07pattern\x18\x01 \x01(\tR\x07pattern\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level"8\n\x0eLocationSecret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret"+\n\x13AppValidationStatus\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error"\xbe\x03\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04fqdn\x18\x02 \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x03 \x01(\tR\tlocalFqdn\x12\x1d\n\nmanaged_by\x18\x04 \x01(\tR\tmanagedBy\x12+\n\x11signaling_address\x18\x05 \x01(\tR\x10signalingAddress\x12-\n\x12signaling_insecure\x18\x06 \x01(\x08R\x11signalingInsecure\x12+\n\x0flocation_secret\x18\x07 \x01(\tB\x02\x18\x01R\x0elocationSecret\x12\x16\n\x06secret\x18\x08 \x01(\tR\x06secret\x12F\n\x10location_secrets\x18\t \x03(\x0b2\x1b.viam.app.v1.LocationSecretR\x0flocationSecrets\x12$\n\x0eprimary_org_id\x18\n \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x0b \x01(\tR\nlocationId\x12\x1d\n\nmachine_id\x18\x0c \x01(\tR\tmachineId"\xbb\x03\n\x0fComponentConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n\x05model\x18\x04 \x01(\tR\x05model\x12(\n\x05frame\x18\x05 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12\x1d\n\ndepends_on\x18\x06 \x03(\tR\tdependsOn\x12l\n\x0fservice_configs\x18\x07 \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x127\n\nattributes\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12J\n\x11log_configuration\x18\n \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"i\n\x1aResourceLevelServiceConfig\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x127\n\nattributes\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"\xf0\x02\n\rProcessConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04args\x18\x03 \x03(\tR\x04args\x12\x10\n\x03cwd\x18\x04 \x01(\tR\x03cwd\x12\x19\n\x08one_shot\x18\x05 \x01(\x08R\x07oneShot\x12\x10\n\x03log\x18\x06 \x01(\x08R\x03log\x12\x1f\n\x0bstop_signal\x18\x07 \x01(\x05R\nstopSignal\x12<\n\x0cstop_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0bstopTimeout\x125\n\x03env\x18\t \x03(\x0b2#.viam.app.v1.ProcessConfig.EnvEntryR\x03env\x12\x1a\n\x08username\x18\n \x01(\tR\x08username\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\x8f\x03\n\rServiceConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x1d\n\ndepends_on\x18\x05 \x03(\tR\tdependsOn\x12\x14\n\x05model\x18\x06 \x01(\tR\x05model\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12l\n\x0fservice_configs\x18\n \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12J\n\x11log_configuration\x18\x0b \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"\xba\x02\n\rNetworkConfig\x12\x12\n\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12!\n\x0cbind_address\x18\x02 \x01(\tR\x0bbindAddress\x12"\n\rtls_cert_file\x18\x03 \x01(\tR\x0btlsCertFile\x12 \n\x0ctls_key_file\x18\x04 \x01(\tR\ntlsKeyFile\x127\n\x08sessions\x18\x05 \x01(\x0b2\x1b.viam.app.v1.SessionsConfigR\x08sessions\x12\\\n\x18traffic_tunnel_endpoints\x18\x06 \x03(\x0b2".viam.app.v1.TrafficTunnelEndpointR\x16trafficTunnelEndpoints\x12\x15\n\x06no_tls\x18\x07 \x01(\x08R\x05noTls"V\n\x0eSessionsConfig\x12D\n\x10heartbeat_window\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"u\n\x15TrafficTunnelEndpoint\x12\x12\n\x04port\x18\x01 \x01(\x05R\x04port\x12H\n\x12connection_timeout\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x11connectionTimeout"\xe5\x01\n\nAuthConfig\x12:\n\x08handlers\x18\x01 \x03(\x0b2\x1e.viam.app.v1.AuthHandlerConfigR\x08handlers\x12*\n\x11tls_auth_entities\x18\x02 \x03(\tR\x0ftlsAuthEntities\x12V\n\x14external_auth_config\x18\x03 \x01(\x0b2\x1f.viam.app.v1.ExternalAuthConfigH\x00R\x12externalAuthConfig\x88\x01\x01B\x17\n\x15_external_auth_config"7\n\x08JWKSFile\x12+\n\x04json\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04json"?\n\x12ExternalAuthConfig\x12)\n\x04jwks\x18\x01 \x01(\x0b2\x15.viam.app.v1.JWKSFileR\x04jwks"v\n\x11AuthHandlerConfig\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12/\n\x06config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x06config"\xcd\x01\n\x05Frame\x12\x16\n\x06parent\x18\x01 \x01(\tR\x06parent\x12:\n\x0btranslation\x18\x02 \x01(\x0b2\x18.viam.app.v1.TranslationR\x0btranslation\x12:\n\x0borientation\x18\x03 \x01(\x0b2\x18.viam.app.v1.OrientationR\x0borientation\x124\n\x08geometry\x18\x04 \x01(\x0b2\x18.viam.common.v1.GeometryR\x08geometry"(\n\x10LogConfiguration\x12\x14\n\x05level\x18\x01 \x01(\tR\x05level"7\n\x0bTranslation\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"\xd0\x07\n\x0bOrientation\x12O\n\x0eno_orientation\x18\x01 \x01(\x0b2&.viam.app.v1.Orientation.NoOrientationH\x00R\rnoOrientation\x12Z\n\x0evector_radians\x18\x02 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorRadiansH\x00R\rvectorRadians\x12Z\n\x0evector_degrees\x18\x03 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorDegreesH\x00R\rvectorDegrees\x12I\n\x0ceuler_angles\x18\x04 \x01(\x0b2$.viam.app.v1.Orientation.EulerAnglesH\x00R\x0beulerAngles\x12F\n\x0baxis_angles\x18\x05 \x01(\x0b2#.viam.app.v1.Orientation.AxisAnglesH\x00R\naxisAngles\x12E\n\nquaternion\x18\x06 \x01(\x0b2#.viam.app.v1.Orientation.QuaternionH\x00R\nquaternion\x1a\x0f\n\rNoOrientation\x1aj\n\x18OrientationVectorRadians\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aj\n\x18OrientationVectorDegrees\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aI\n\x0bEulerAngles\x12\x12\n\x04roll\x18\x01 \x01(\x01R\x04roll\x12\x14\n\x05pitch\x18\x02 \x01(\x01R\x05pitch\x12\x10\n\x03yaw\x18\x03 \x01(\x01R\x03yaw\x1a\\\n\nAxisAngles\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aD\n\nQuaternion\x12\x0c\n\x01w\x18\x01 \x01(\x01R\x01w\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01zB\x06\n\x04type"\xf5\x03\n\x0cRemoteConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07address\x18\x02 \x01(\tR\x07address\x12(\n\x05frame\x18\x03 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12+\n\x04auth\x18\x04 \x01(\x0b2\x17.viam.app.v1.RemoteAuthR\x04auth\x12\x1d\n\nmanaged_by\x18\x05 \x01(\tR\tmanagedBy\x12\x1a\n\x08insecure\x18\x06 \x01(\x08R\x08insecure\x12U\n\x19connection_check_interval\x18\x07 \x01(\x0b2\x19.google.protobuf.DurationR\x17connectionCheckInterval\x12H\n\x12reconnect_interval\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x11reconnectInterval\x12l\n\x0fservice_configs\x18\t \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12\x16\n\x06secret\x18\n \x01(\tR\x06secret"\xc6\x01\n\nRemoteAuth\x12E\n\x0bcredentials\x18\x01 \x01(\x0b2#.viam.app.v1.RemoteAuth.CredentialsR\x0bcredentials\x12\x16\n\x06entity\x18\x02 \x01(\tR\x06entity\x1aY\n\x0bCredentials\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"\xd1\x01\n\tAgentInfo\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x0e\n\x02os\x18\x02 \x01(\tR\x02os\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12!\n\x0cgit_revision\x18\x05 \x01(\tR\x0bgitRevision\x12\x1f\n\x08platform\x18\x06 \x01(\tH\x00R\x08platform\x88\x01\x01\x12#\n\rplatform_tags\x18\x07 \x03(\tR\x0cplatformTagsB\x0b\n\t_platform"j\n\rConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\nagent_info\x18\x02 \x01(\x0b2\x16.viam.app.v1.AgentInfoH\x00R\tagentInfo\x88\x01\x01B\r\n\x0b_agent_info"B\n\x0eConfigResponse\x120\n\x06config\x18\x01 \x01(\x0b2\x18.viam.app.v1.RobotConfigR\x06config"$\n\x12CertificateRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"v\n\x13CertificateResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0ftls_certificate\x18\x02 \x01(\tR\x0etlsCertificate\x12&\n\x0ftls_private_key\x18\x03 \x01(\tR\rtlsPrivateKey"J\n\nLogRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x04logs\x18\x02 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"%\n\x13NeedsRestartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9a\x01\n\x14NeedsRestartResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cmust_restart\x18\x02 \x01(\x08R\x0bmustRestart\x12O\n\x16restart_check_interval\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x14restartCheckInterval"\xf3\x02\n\x0cModuleConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\tlog_level\x18\x03 \x01(\tR\x08logLevel\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x1b\n\tmodule_id\x18\x05 \x01(\tR\x08moduleId\x124\n\x03env\x18\x06 \x03(\x0b2".viam.app.v1.ModuleConfig.EnvEntryR\x03env\x128\n\x06status\x18\x07 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status\x12E\n\x11first_run_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0ffirstRunTimeout\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa5\x01\n\rPackageConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x128\n\x06status\x18\x05 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status"\x8a\x01\n\x11MaintenanceConfig\x12=\n\x0bsensor_name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\nsensorName\x126\n\x17maintenance_allowed_key\x18\x02 \x01(\tR\x15maintenanceAllowedKey*\xbf\x01\n\x0fCredentialsType\x12 \n\x1cCREDENTIALS_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CREDENTIALS_TYPE_INTERNAL\x10\x01\x12\x1c\n\x18CREDENTIALS_TYPE_API_KEY\x10\x02\x12!\n\x1dCREDENTIALS_TYPE_ROBOT_SECRET\x10\x03\x12*\n&CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET\x10\x042\xb2\x02\n\x0cRobotService\x12A\n\x06Config\x12\x1a.viam.app.v1.ConfigRequest\x1a\x1b.viam.app.v1.ConfigResponse\x12P\n\x0bCertificate\x12\x1f.viam.app.v1.CertificateRequest\x1a .viam.app.v1.CertificateResponse\x128\n\x03Log\x12\x17.viam.app.v1.LogRequest\x1a\x18.viam.app.v1.LogResponse\x12S\n\x0cNeedsRestart\x12 .viam.app.v1.NeedsRestartRequest\x1a!.viam.app.v1.NeedsRestartResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3')
|
|
14
14
|
_globals = globals()
|
|
15
15
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
16
16
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.robot_pb2', _globals)
|
|
@@ -35,8 +35,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
35
35
|
_globals['_REMOTECONFIG'].fields_by_name['service_configs']._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"'
|
|
36
36
|
_globals['_MODULECONFIG_ENVENTRY']._loaded_options = None
|
|
37
37
|
_globals['_MODULECONFIG_ENVENTRY']._serialized_options = b'8\x01'
|
|
38
|
-
_globals['_CREDENTIALSTYPE']._serialized_start =
|
|
39
|
-
_globals['_CREDENTIALSTYPE']._serialized_end =
|
|
38
|
+
_globals['_CREDENTIALSTYPE']._serialized_start = 7613
|
|
39
|
+
_globals['_CREDENTIALSTYPE']._serialized_end = 7804
|
|
40
40
|
_globals['_ROBOTCONFIG']._serialized_start = 146
|
|
41
41
|
_globals['_ROBOTCONFIG']._serialized_end = 1159
|
|
42
42
|
_globals['_LOGPATTERNCONFIG']._serialized_start = 1161
|
|
@@ -58,70 +58,70 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
58
58
|
_globals['_SERVICECONFIG']._serialized_start = 2706
|
|
59
59
|
_globals['_SERVICECONFIG']._serialized_end = 3105
|
|
60
60
|
_globals['_NETWORKCONFIG']._serialized_start = 3108
|
|
61
|
-
_globals['_NETWORKCONFIG']._serialized_end =
|
|
62
|
-
_globals['_SESSIONSCONFIG']._serialized_start =
|
|
63
|
-
_globals['_SESSIONSCONFIG']._serialized_end =
|
|
64
|
-
_globals['_TRAFFICTUNNELENDPOINT']._serialized_start =
|
|
65
|
-
_globals['_TRAFFICTUNNELENDPOINT']._serialized_end =
|
|
66
|
-
_globals['_AUTHCONFIG']._serialized_start =
|
|
67
|
-
_globals['_AUTHCONFIG']._serialized_end =
|
|
68
|
-
_globals['_JWKSFILE']._serialized_start =
|
|
69
|
-
_globals['_JWKSFILE']._serialized_end =
|
|
70
|
-
_globals['_EXTERNALAUTHCONFIG']._serialized_start =
|
|
71
|
-
_globals['_EXTERNALAUTHCONFIG']._serialized_end =
|
|
72
|
-
_globals['_AUTHHANDLERCONFIG']._serialized_start =
|
|
73
|
-
_globals['_AUTHHANDLERCONFIG']._serialized_end =
|
|
74
|
-
_globals['_FRAME']._serialized_start =
|
|
75
|
-
_globals['_FRAME']._serialized_end =
|
|
76
|
-
_globals['_LOGCONFIGURATION']._serialized_start =
|
|
77
|
-
_globals['_LOGCONFIGURATION']._serialized_end =
|
|
78
|
-
_globals['_TRANSLATION']._serialized_start =
|
|
79
|
-
_globals['_TRANSLATION']._serialized_end =
|
|
80
|
-
_globals['_ORIENTATION']._serialized_start =
|
|
81
|
-
_globals['_ORIENTATION']._serialized_end =
|
|
82
|
-
_globals['_ORIENTATION_NOORIENTATION']._serialized_start =
|
|
83
|
-
_globals['_ORIENTATION_NOORIENTATION']._serialized_end =
|
|
84
|
-
_globals['_ORIENTATION_ORIENTATIONVECTORRADIANS']._serialized_start =
|
|
85
|
-
_globals['_ORIENTATION_ORIENTATIONVECTORRADIANS']._serialized_end =
|
|
86
|
-
_globals['_ORIENTATION_ORIENTATIONVECTORDEGREES']._serialized_start =
|
|
87
|
-
_globals['_ORIENTATION_ORIENTATIONVECTORDEGREES']._serialized_end =
|
|
88
|
-
_globals['_ORIENTATION_EULERANGLES']._serialized_start =
|
|
89
|
-
_globals['_ORIENTATION_EULERANGLES']._serialized_end =
|
|
90
|
-
_globals['_ORIENTATION_AXISANGLES']._serialized_start =
|
|
91
|
-
_globals['_ORIENTATION_AXISANGLES']._serialized_end =
|
|
92
|
-
_globals['_ORIENTATION_QUATERNION']._serialized_start =
|
|
93
|
-
_globals['_ORIENTATION_QUATERNION']._serialized_end =
|
|
94
|
-
_globals['_REMOTECONFIG']._serialized_start =
|
|
95
|
-
_globals['_REMOTECONFIG']._serialized_end =
|
|
96
|
-
_globals['_REMOTEAUTH']._serialized_start =
|
|
97
|
-
_globals['_REMOTEAUTH']._serialized_end =
|
|
98
|
-
_globals['_REMOTEAUTH_CREDENTIALS']._serialized_start =
|
|
99
|
-
_globals['_REMOTEAUTH_CREDENTIALS']._serialized_end =
|
|
100
|
-
_globals['_AGENTINFO']._serialized_start =
|
|
101
|
-
_globals['_AGENTINFO']._serialized_end =
|
|
102
|
-
_globals['_CONFIGREQUEST']._serialized_start =
|
|
103
|
-
_globals['_CONFIGREQUEST']._serialized_end =
|
|
104
|
-
_globals['_CONFIGRESPONSE']._serialized_start =
|
|
105
|
-
_globals['_CONFIGRESPONSE']._serialized_end =
|
|
106
|
-
_globals['_CERTIFICATEREQUEST']._serialized_start =
|
|
107
|
-
_globals['_CERTIFICATEREQUEST']._serialized_end =
|
|
108
|
-
_globals['_CERTIFICATERESPONSE']._serialized_start =
|
|
109
|
-
_globals['_CERTIFICATERESPONSE']._serialized_end =
|
|
110
|
-
_globals['_LOGREQUEST']._serialized_start =
|
|
111
|
-
_globals['_LOGREQUEST']._serialized_end =
|
|
112
|
-
_globals['_LOGRESPONSE']._serialized_start =
|
|
113
|
-
_globals['_LOGRESPONSE']._serialized_end =
|
|
114
|
-
_globals['_NEEDSRESTARTREQUEST']._serialized_start =
|
|
115
|
-
_globals['_NEEDSRESTARTREQUEST']._serialized_end =
|
|
116
|
-
_globals['_NEEDSRESTARTRESPONSE']._serialized_start =
|
|
117
|
-
_globals['_NEEDSRESTARTRESPONSE']._serialized_end =
|
|
118
|
-
_globals['_MODULECONFIG']._serialized_start =
|
|
119
|
-
_globals['_MODULECONFIG']._serialized_end =
|
|
61
|
+
_globals['_NETWORKCONFIG']._serialized_end = 3422
|
|
62
|
+
_globals['_SESSIONSCONFIG']._serialized_start = 3424
|
|
63
|
+
_globals['_SESSIONSCONFIG']._serialized_end = 3510
|
|
64
|
+
_globals['_TRAFFICTUNNELENDPOINT']._serialized_start = 3512
|
|
65
|
+
_globals['_TRAFFICTUNNELENDPOINT']._serialized_end = 3629
|
|
66
|
+
_globals['_AUTHCONFIG']._serialized_start = 3632
|
|
67
|
+
_globals['_AUTHCONFIG']._serialized_end = 3861
|
|
68
|
+
_globals['_JWKSFILE']._serialized_start = 3863
|
|
69
|
+
_globals['_JWKSFILE']._serialized_end = 3918
|
|
70
|
+
_globals['_EXTERNALAUTHCONFIG']._serialized_start = 3920
|
|
71
|
+
_globals['_EXTERNALAUTHCONFIG']._serialized_end = 3983
|
|
72
|
+
_globals['_AUTHHANDLERCONFIG']._serialized_start = 3985
|
|
73
|
+
_globals['_AUTHHANDLERCONFIG']._serialized_end = 4103
|
|
74
|
+
_globals['_FRAME']._serialized_start = 4106
|
|
75
|
+
_globals['_FRAME']._serialized_end = 4311
|
|
76
|
+
_globals['_LOGCONFIGURATION']._serialized_start = 4313
|
|
77
|
+
_globals['_LOGCONFIGURATION']._serialized_end = 4353
|
|
78
|
+
_globals['_TRANSLATION']._serialized_start = 4355
|
|
79
|
+
_globals['_TRANSLATION']._serialized_end = 4410
|
|
80
|
+
_globals['_ORIENTATION']._serialized_start = 4413
|
|
81
|
+
_globals['_ORIENTATION']._serialized_end = 5389
|
|
82
|
+
_globals['_ORIENTATION_NOORIENTATION']._serialized_start = 4911
|
|
83
|
+
_globals['_ORIENTATION_NOORIENTATION']._serialized_end = 4926
|
|
84
|
+
_globals['_ORIENTATION_ORIENTATIONVECTORRADIANS']._serialized_start = 4928
|
|
85
|
+
_globals['_ORIENTATION_ORIENTATIONVECTORRADIANS']._serialized_end = 5034
|
|
86
|
+
_globals['_ORIENTATION_ORIENTATIONVECTORDEGREES']._serialized_start = 5036
|
|
87
|
+
_globals['_ORIENTATION_ORIENTATIONVECTORDEGREES']._serialized_end = 5142
|
|
88
|
+
_globals['_ORIENTATION_EULERANGLES']._serialized_start = 5144
|
|
89
|
+
_globals['_ORIENTATION_EULERANGLES']._serialized_end = 5217
|
|
90
|
+
_globals['_ORIENTATION_AXISANGLES']._serialized_start = 5219
|
|
91
|
+
_globals['_ORIENTATION_AXISANGLES']._serialized_end = 5311
|
|
92
|
+
_globals['_ORIENTATION_QUATERNION']._serialized_start = 5313
|
|
93
|
+
_globals['_ORIENTATION_QUATERNION']._serialized_end = 5381
|
|
94
|
+
_globals['_REMOTECONFIG']._serialized_start = 5392
|
|
95
|
+
_globals['_REMOTECONFIG']._serialized_end = 5893
|
|
96
|
+
_globals['_REMOTEAUTH']._serialized_start = 5896
|
|
97
|
+
_globals['_REMOTEAUTH']._serialized_end = 6094
|
|
98
|
+
_globals['_REMOTEAUTH_CREDENTIALS']._serialized_start = 6005
|
|
99
|
+
_globals['_REMOTEAUTH_CREDENTIALS']._serialized_end = 6094
|
|
100
|
+
_globals['_AGENTINFO']._serialized_start = 6097
|
|
101
|
+
_globals['_AGENTINFO']._serialized_end = 6306
|
|
102
|
+
_globals['_CONFIGREQUEST']._serialized_start = 6308
|
|
103
|
+
_globals['_CONFIGREQUEST']._serialized_end = 6414
|
|
104
|
+
_globals['_CONFIGRESPONSE']._serialized_start = 6416
|
|
105
|
+
_globals['_CONFIGRESPONSE']._serialized_end = 6482
|
|
106
|
+
_globals['_CERTIFICATEREQUEST']._serialized_start = 6484
|
|
107
|
+
_globals['_CERTIFICATEREQUEST']._serialized_end = 6520
|
|
108
|
+
_globals['_CERTIFICATERESPONSE']._serialized_start = 6522
|
|
109
|
+
_globals['_CERTIFICATERESPONSE']._serialized_end = 6640
|
|
110
|
+
_globals['_LOGREQUEST']._serialized_start = 6642
|
|
111
|
+
_globals['_LOGREQUEST']._serialized_end = 6716
|
|
112
|
+
_globals['_LOGRESPONSE']._serialized_start = 6718
|
|
113
|
+
_globals['_LOGRESPONSE']._serialized_end = 6731
|
|
114
|
+
_globals['_NEEDSRESTARTREQUEST']._serialized_start = 6733
|
|
115
|
+
_globals['_NEEDSRESTARTREQUEST']._serialized_end = 6770
|
|
116
|
+
_globals['_NEEDSRESTARTRESPONSE']._serialized_start = 6773
|
|
117
|
+
_globals['_NEEDSRESTARTRESPONSE']._serialized_end = 6927
|
|
118
|
+
_globals['_MODULECONFIG']._serialized_start = 6930
|
|
119
|
+
_globals['_MODULECONFIG']._serialized_end = 7301
|
|
120
120
|
_globals['_MODULECONFIG_ENVENTRY']._serialized_start = 2649
|
|
121
121
|
_globals['_MODULECONFIG_ENVENTRY']._serialized_end = 2703
|
|
122
|
-
_globals['_PACKAGECONFIG']._serialized_start =
|
|
123
|
-
_globals['_PACKAGECONFIG']._serialized_end =
|
|
124
|
-
_globals['_MAINTENANCECONFIG']._serialized_start =
|
|
125
|
-
_globals['_MAINTENANCECONFIG']._serialized_end =
|
|
126
|
-
_globals['_ROBOTSERVICE']._serialized_start =
|
|
127
|
-
_globals['_ROBOTSERVICE']._serialized_end =
|
|
122
|
+
_globals['_PACKAGECONFIG']._serialized_start = 7304
|
|
123
|
+
_globals['_PACKAGECONFIG']._serialized_end = 7469
|
|
124
|
+
_globals['_MAINTENANCECONFIG']._serialized_start = 7472
|
|
125
|
+
_globals['_MAINTENANCECONFIG']._serialized_end = 7610
|
|
126
|
+
_globals['_ROBOTSERVICE']._serialized_start = 7807
|
|
127
|
+
_globals['_ROBOTSERVICE']._serialized_end = 8113
|
viam/gen/app/v1/robot_pb2.pyi
CHANGED
|
@@ -423,10 +423,12 @@ class NetworkConfig(google.protobuf.message.Message):
|
|
|
423
423
|
TLS_KEY_FILE_FIELD_NUMBER: builtins.int
|
|
424
424
|
SESSIONS_FIELD_NUMBER: builtins.int
|
|
425
425
|
TRAFFIC_TUNNEL_ENDPOINTS_FIELD_NUMBER: builtins.int
|
|
426
|
+
NO_TLS_FIELD_NUMBER: builtins.int
|
|
426
427
|
fqdn: builtins.str
|
|
427
428
|
bind_address: builtins.str
|
|
428
429
|
tls_cert_file: builtins.str
|
|
429
430
|
tls_key_file: builtins.str
|
|
431
|
+
no_tls: builtins.bool
|
|
430
432
|
|
|
431
433
|
@property
|
|
432
434
|
def sessions(self) -> global___SessionsConfig:
|
|
@@ -436,13 +438,13 @@ class NetworkConfig(google.protobuf.message.Message):
|
|
|
436
438
|
def traffic_tunnel_endpoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficTunnelEndpoint]:
|
|
437
439
|
...
|
|
438
440
|
|
|
439
|
-
def __init__(self, *, fqdn: builtins.str=..., bind_address: builtins.str=..., tls_cert_file: builtins.str=..., tls_key_file: builtins.str=..., sessions: global___SessionsConfig | None=..., traffic_tunnel_endpoints: collections.abc.Iterable[global___TrafficTunnelEndpoint] | None=...) -> None:
|
|
441
|
+
def __init__(self, *, fqdn: builtins.str=..., bind_address: builtins.str=..., tls_cert_file: builtins.str=..., tls_key_file: builtins.str=..., sessions: global___SessionsConfig | None=..., traffic_tunnel_endpoints: collections.abc.Iterable[global___TrafficTunnelEndpoint] | None=..., no_tls: builtins.bool=...) -> None:
|
|
440
442
|
...
|
|
441
443
|
|
|
442
444
|
def HasField(self, field_name: typing.Literal['sessions', b'sessions']) -> builtins.bool:
|
|
443
445
|
...
|
|
444
446
|
|
|
445
|
-
def ClearField(self, field_name: typing.Literal['bind_address', b'bind_address', 'fqdn', b'fqdn', 'sessions', b'sessions', 'tls_cert_file', b'tls_cert_file', 'tls_key_file', b'tls_key_file', 'traffic_tunnel_endpoints', b'traffic_tunnel_endpoints']) -> None:
|
|
447
|
+
def ClearField(self, field_name: typing.Literal['bind_address', b'bind_address', 'fqdn', b'fqdn', 'no_tls', b'no_tls', 'sessions', b'sessions', 'tls_cert_file', b'tls_cert_file', 'tls_key_file', b'tls_key_file', 'traffic_tunnel_endpoints', b'traffic_tunnel_endpoints']) -> None:
|
|
446
448
|
...
|
|
447
449
|
global___NetworkConfig = NetworkConfig
|
|
448
450
|
|
viam/module/module.py
CHANGED
|
@@ -7,6 +7,7 @@ from inspect import iscoroutinefunction
|
|
|
7
7
|
from threading import Lock
|
|
8
8
|
from typing import List, Mapping, Optional, Sequence, Tuple
|
|
9
9
|
|
|
10
|
+
from grpclib.metadata import Deadline
|
|
10
11
|
from grpclib.utils import _service_name
|
|
11
12
|
from typing_extensions import Self
|
|
12
13
|
|
|
@@ -183,13 +184,15 @@ class Module:
|
|
|
183
184
|
with self._lock:
|
|
184
185
|
self._ready = ready
|
|
185
186
|
|
|
186
|
-
async def add_resource(self, request: AddResourceRequest):
|
|
187
|
+
async def add_resource(self, request: AddResourceRequest, *, deadline: Optional[Deadline] = None):
|
|
187
188
|
dependencies = await self._get_dependencies(request.dependencies)
|
|
188
189
|
config: ComponentConfig = request.config
|
|
189
190
|
api = API.from_string(config.api)
|
|
190
191
|
model = Model.from_string(config.model, ignore_errors=True)
|
|
191
192
|
creator = Registry.lookup_resource_creator(api, model)
|
|
192
193
|
resource = creator(config, dependencies)
|
|
194
|
+
if deadline is not None and deadline.time_remaining() <= 0:
|
|
195
|
+
raise TimeoutError("Deadline expired")
|
|
193
196
|
update_log_level(resource.logger, config.log_configuration.level.upper())
|
|
194
197
|
self.server.register(resource)
|
|
195
198
|
|
viam/module/service.py
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
from typing import TYPE_CHECKING
|
|
2
2
|
|
|
3
|
+
from grpclib import Status
|
|
3
4
|
from grpclib.server import Stream
|
|
4
5
|
|
|
6
|
+
from viam.errors import ViamGRPCError
|
|
5
7
|
from viam.proto.module import (
|
|
6
8
|
AddResourceRequest,
|
|
7
9
|
AddResourceResponse,
|
|
@@ -29,7 +31,13 @@ class ModuleRPCService(ModuleServiceBase):
|
|
|
29
31
|
async def AddResource(self, stream: Stream[AddResourceRequest, AddResourceResponse]) -> None:
|
|
30
32
|
request = await stream.recv_message()
|
|
31
33
|
assert request is not None
|
|
32
|
-
|
|
34
|
+
try:
|
|
35
|
+
await self._module.add_resource(request, deadline=stream.deadline)
|
|
36
|
+
except TimeoutError:
|
|
37
|
+
raise ViamGRPCError(
|
|
38
|
+
message="Timeout while adding resource",
|
|
39
|
+
grpc_code=Status.DEADLINE_EXCEEDED,
|
|
40
|
+
)
|
|
33
41
|
await stream.send_message(AddResourceResponse())
|
|
34
42
|
|
|
35
43
|
async def ReconfigureResource(self, stream: Stream[ReconfigureResourceRequest, ReconfigureResourceResponse]) -> None:
|
viam/proto/app/__init__.py
CHANGED
|
@@ -253,6 +253,8 @@ from ...gen.app.v1.app_pb2 import (
|
|
|
253
253
|
UpdateOrganizationInviteAuthorizationsResponse,
|
|
254
254
|
UpdateOrganizationMetadataRequest,
|
|
255
255
|
UpdateOrganizationMetadataResponse,
|
|
256
|
+
UpdateOrganizationNamespaceRequest,
|
|
257
|
+
UpdateOrganizationNamespaceResponse,
|
|
256
258
|
UpdateOrganizationRequest,
|
|
257
259
|
UpdateOrganizationResponse,
|
|
258
260
|
UpdateRegistryItemRequest,
|
|
@@ -528,6 +530,8 @@ __all__ = [
|
|
|
528
530
|
"UpdateOrganizationInviteAuthorizationsResponse",
|
|
529
531
|
"UpdateOrganizationMetadataRequest",
|
|
530
532
|
"UpdateOrganizationMetadataResponse",
|
|
533
|
+
"UpdateOrganizationNamespaceRequest",
|
|
534
|
+
"UpdateOrganizationNamespaceResponse",
|
|
531
535
|
"UpdateOrganizationRequest",
|
|
532
536
|
"UpdateOrganizationResponse",
|
|
533
537
|
"UpdateRegistryItemRequest",
|
|
@@ -12,6 +12,8 @@ from ....gen.app.datapipelines.v1.data_pipelines_pb2 import (
|
|
|
12
12
|
CreateDataPipelineRequest,
|
|
13
13
|
CreateDataPipelineResponse,
|
|
14
14
|
DataPipeline,
|
|
15
|
+
DataPipelineRun,
|
|
16
|
+
DataPipelineRunStatus,
|
|
15
17
|
DeleteDataPipelineRequest,
|
|
16
18
|
DeleteDataPipelineResponse,
|
|
17
19
|
DisableDataPipelineRequest,
|
|
@@ -20,12 +22,10 @@ from ....gen.app.datapipelines.v1.data_pipelines_pb2 import (
|
|
|
20
22
|
EnableDataPipelineResponse,
|
|
21
23
|
GetDataPipelineRequest,
|
|
22
24
|
GetDataPipelineResponse,
|
|
25
|
+
ListDataPipelineRunsRequest,
|
|
26
|
+
ListDataPipelineRunsResponse,
|
|
23
27
|
ListDataPipelinesRequest,
|
|
24
28
|
ListDataPipelinesResponse,
|
|
25
|
-
ListPipelineRunsRequest,
|
|
26
|
-
ListPipelineRunsResponse,
|
|
27
|
-
PipelineRun,
|
|
28
|
-
PipelineRunStatus,
|
|
29
29
|
UpdateDataPipelineRequest,
|
|
30
30
|
UpdateDataPipelineResponse,
|
|
31
31
|
)
|
|
@@ -37,6 +37,8 @@ __all__ = [
|
|
|
37
37
|
"CreateDataPipelineRequest",
|
|
38
38
|
"CreateDataPipelineResponse",
|
|
39
39
|
"DataPipeline",
|
|
40
|
+
"DataPipelineRun",
|
|
41
|
+
"DataPipelineRunStatus",
|
|
40
42
|
"DeleteDataPipelineRequest",
|
|
41
43
|
"DeleteDataPipelineResponse",
|
|
42
44
|
"DisableDataPipelineRequest",
|
|
@@ -45,12 +47,10 @@ __all__ = [
|
|
|
45
47
|
"EnableDataPipelineResponse",
|
|
46
48
|
"GetDataPipelineRequest",
|
|
47
49
|
"GetDataPipelineResponse",
|
|
50
|
+
"ListDataPipelineRunsRequest",
|
|
51
|
+
"ListDataPipelineRunsResponse",
|
|
48
52
|
"ListDataPipelinesRequest",
|
|
49
53
|
"ListDataPipelinesResponse",
|
|
50
|
-
"ListPipelineRunsRequest",
|
|
51
|
-
"ListPipelineRunsResponse",
|
|
52
|
-
"PipelineRun",
|
|
53
|
-
"PipelineRunStatus",
|
|
54
54
|
"UpdateDataPipelineRequest",
|
|
55
55
|
"UpdateDataPipelineResponse",
|
|
56
56
|
]
|
viam/robot/client.py
CHANGED
|
@@ -202,7 +202,7 @@ class RobotClient:
|
|
|
202
202
|
"""
|
|
203
203
|
logging.setLevel(options.log_level)
|
|
204
204
|
channel = await dial(address, options.dial_options)
|
|
205
|
-
machine = await cls._with_channel(channel, options, True)
|
|
205
|
+
machine = await cls._with_channel(channel, options, True, robot_addr=address)
|
|
206
206
|
machine._address = address
|
|
207
207
|
return machine
|
|
208
208
|
|
|
@@ -237,7 +237,9 @@ class RobotClient:
|
|
|
237
237
|
return await cls._with_channel(channel, options, False)
|
|
238
238
|
|
|
239
239
|
@classmethod
|
|
240
|
-
async def _with_channel(
|
|
240
|
+
async def _with_channel(
|
|
241
|
+
cls, channel: Union[Channel, ViamChannel], options: Options, close_channel: bool, robot_addr: Optional[str] = None
|
|
242
|
+
):
|
|
241
243
|
"""INTERNAL USE ONLY"""
|
|
242
244
|
|
|
243
245
|
self = cls()
|
|
@@ -258,7 +260,7 @@ class RobotClient:
|
|
|
258
260
|
self._options = options
|
|
259
261
|
self._address = self._channel._path if self._channel._path else f"{self._channel._host}:{self._channel._port}"
|
|
260
262
|
self._sessions_client = SessionsClient(
|
|
261
|
-
self._channel, self._address, self._options.dial_options, disabled=self._options.disable_sessions
|
|
263
|
+
self._channel, self._address, self._options.dial_options, disabled=self._options.disable_sessions, robot_addr=robot_addr
|
|
262
264
|
)
|
|
263
265
|
|
|
264
266
|
try:
|
|
@@ -420,6 +422,7 @@ class RobotClient:
|
|
|
420
422
|
direct_dial_address=direct_dial_address,
|
|
421
423
|
dial_options=self._options.dial_options,
|
|
422
424
|
disabled=self._options.disable_sessions,
|
|
425
|
+
robot_addr=self._address,
|
|
423
426
|
)
|
|
424
427
|
|
|
425
428
|
await self.refresh()
|
viam/rpc/dial.py
CHANGED
|
@@ -232,8 +232,9 @@ class _Runtime:
|
|
|
232
232
|
_ptr: ctypes.c_void_p
|
|
233
233
|
|
|
234
234
|
def __init__(self) -> None:
|
|
235
|
+
suffix = "dylib" if sys.platform == "darwin" else "so" if "linux" in sys.platform else "dll"
|
|
235
236
|
LOGGER.debug("Creating new viam-rust-utils runtime")
|
|
236
|
-
libname = pathlib.Path(__file__).parent.absolute() / f"libviam_rust_utils.{
|
|
237
|
+
libname = pathlib.Path(__file__).parent.absolute() / f"libviam_rust_utils.{suffix}"
|
|
237
238
|
self._lib = ctypes.CDLL(libname.__str__())
|
|
238
239
|
self._lib.init_rust_runtime.argtypes = ()
|
|
239
240
|
self._lib.init_rust_runtime.restype = ctypes.c_void_p
|
|
@@ -311,6 +312,15 @@ async def dial(address: str, options: Optional[DialOptions] = None) -> ViamChann
|
|
|
311
312
|
raise exception # type: ignore
|
|
312
313
|
|
|
313
314
|
|
|
315
|
+
def _create_chan(path: str) -> Channel:
|
|
316
|
+
if sys.platform == "win32" or sys.platform == "cygwin":
|
|
317
|
+
# we have to use a TCP connection, so we want a host and port for our channel.
|
|
318
|
+
host, port = _host_port_from_url(path)
|
|
319
|
+
return Channel(host=host, port=port, ssl=None)
|
|
320
|
+
# we're not on windows and so can use a UDS
|
|
321
|
+
return Channel(path=path, ssl=None)
|
|
322
|
+
|
|
323
|
+
|
|
314
324
|
async def _dial_inner(address: str, options: Optional[DialOptions] = None) -> ViamChannel:
|
|
315
325
|
async def send_request(event: SendRequest):
|
|
316
326
|
event.metadata["viam-client"] = f"python;v{SDK_VERSION};v{API_VERSION}"
|
|
@@ -324,7 +334,7 @@ async def _dial_inner(address: str, options: Optional[DialOptions] = None) -> Vi
|
|
|
324
334
|
path, path_ptr = await runtime.dial(address, opts)
|
|
325
335
|
if path:
|
|
326
336
|
LOGGER.info(f"Connecting to socket: {path}")
|
|
327
|
-
chan =
|
|
337
|
+
chan = _create_chan(path)
|
|
328
338
|
listen(chan, SendRequest, send_request)
|
|
329
339
|
|
|
330
340
|
def release():
|
viam/rpc/libviam_rust_utils.so
CHANGED
|
Binary file
|
viam/sessions_client.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import importlib
|
|
3
3
|
import pkgutil
|
|
4
|
+
import sys
|
|
4
5
|
from copy import deepcopy
|
|
5
6
|
from datetime import timedelta
|
|
6
7
|
from enum import IntEnum
|
|
@@ -36,7 +37,8 @@ class SessionsClient:
|
|
|
36
37
|
|
|
37
38
|
channel: Channel
|
|
38
39
|
client: RobotServiceStub
|
|
39
|
-
_address: str
|
|
40
|
+
_address: str # direct dial address, when using webRTC this is the local socket rather than a robot address
|
|
41
|
+
_robot_address: Optional[str] # the actual machine address on app.viam.com. important for creating a sessions client on Windows
|
|
40
42
|
_dial_options: DialOptions
|
|
41
43
|
_disabled: bool
|
|
42
44
|
_lock: Lock
|
|
@@ -47,13 +49,23 @@ class SessionsClient:
|
|
|
47
49
|
|
|
48
50
|
_HEARTBEAT_MONITORED_METHODS: MutableMapping[str, bool] = {}
|
|
49
51
|
|
|
50
|
-
def __init__(
|
|
52
|
+
def __init__(
|
|
53
|
+
self,
|
|
54
|
+
channel: Channel,
|
|
55
|
+
direct_dial_address: str,
|
|
56
|
+
dial_options: Optional[DialOptions],
|
|
57
|
+
*,
|
|
58
|
+
disabled: bool = False,
|
|
59
|
+
robot_addr: Optional[str] = None,
|
|
60
|
+
):
|
|
51
61
|
self.channel = channel
|
|
52
62
|
self.client = RobotServiceStub(channel)
|
|
53
63
|
self._address = direct_dial_address
|
|
64
|
+
self._robot_address = robot_addr
|
|
54
65
|
self._disabled = disabled
|
|
55
66
|
self._dial_options = deepcopy(dial_options) if dial_options is not None else DialOptions()
|
|
56
|
-
|
|
67
|
+
if sys.platform != "win32" and sys.platform != "cygwin":
|
|
68
|
+
self._dial_options.disable_webrtc = True
|
|
57
69
|
self._lock = Lock()
|
|
58
70
|
self._current_id = ""
|
|
59
71
|
self._heartbeat_interval = None
|
|
@@ -158,8 +170,19 @@ class SessionsClient:
|
|
|
158
170
|
else:
|
|
159
171
|
LOGGER.debug("Sent heartbeat successfully")
|
|
160
172
|
|
|
173
|
+
def _get_local_addr(self) -> str:
|
|
174
|
+
if sys.platform != "win32" and sys.platform != "cygwin":
|
|
175
|
+
# if we're not on windows, we want the direct dial address
|
|
176
|
+
return self._address
|
|
177
|
+
|
|
178
|
+
# return `robot_address` if it exists, otherwise fallback
|
|
179
|
+
# when using TCP (i.e., on Windows), we need to create a connection to the actual
|
|
180
|
+
# robot address for a sessions client to maintain connectivity successfully
|
|
181
|
+
return self._robot_address if self._robot_address is not None else self._address
|
|
182
|
+
|
|
161
183
|
async def _heartbeat_process(self, wait: float):
|
|
162
|
-
|
|
184
|
+
addr = self._get_local_addr()
|
|
185
|
+
channel = await dial(address=addr, options=self._dial_options)
|
|
163
186
|
client = RobotServiceStub(channel.channel)
|
|
164
187
|
while True:
|
|
165
188
|
with self._lock:
|
viam/version_metadata.py
CHANGED