viam-sdk 0.3.0__py3-none-linux_armv6l.whl → 0.66.0__py3-none-linux_armv6l.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.

Files changed (452) hide show
  1. viam/__init__.py +29 -2
  2. viam/app/_logs.py +34 -0
  3. viam/app/app_client.py +2696 -0
  4. viam/app/billing_client.py +185 -0
  5. viam/app/data_client.py +2231 -0
  6. viam/app/ml_training_client.py +249 -0
  7. viam/app/provisioning_client.py +93 -0
  8. viam/app/viam_client.py +275 -0
  9. viam/components/arm/__init__.py +3 -26
  10. viam/components/arm/arm.py +123 -8
  11. viam/components/arm/client.py +37 -24
  12. viam/components/arm/service.py +35 -32
  13. viam/components/audio_in/__init__.py +24 -0
  14. viam/components/audio_in/audio_in.py +74 -0
  15. viam/components/audio_in/client.py +76 -0
  16. viam/components/audio_in/service.py +83 -0
  17. viam/components/audio_out/__init__.py +21 -0
  18. viam/components/audio_out/audio_out.py +72 -0
  19. viam/components/audio_out/client.py +67 -0
  20. viam/components/audio_out/service.py +63 -0
  21. viam/components/base/__init__.py +6 -11
  22. viam/components/base/base.py +134 -8
  23. viam/components/base/client.py +51 -23
  24. viam/components/base/service.py +33 -30
  25. viam/components/board/__init__.py +3 -12
  26. viam/components/board/board.py +247 -91
  27. viam/components/board/client.py +149 -83
  28. viam/components/board/service.py +63 -33
  29. viam/components/button/__init__.py +10 -0
  30. viam/components/button/button.py +41 -0
  31. viam/components/button/client.py +52 -0
  32. viam/components/button/service.py +46 -0
  33. viam/components/camera/__init__.py +3 -3
  34. viam/components/camera/camera.py +62 -27
  35. viam/components/camera/client.py +59 -27
  36. viam/components/camera/service.py +42 -65
  37. viam/components/component_base.py +28 -5
  38. viam/components/encoder/__init__.py +1 -1
  39. viam/components/encoder/client.py +25 -14
  40. viam/components/encoder/encoder.py +48 -10
  41. viam/components/encoder/service.py +14 -18
  42. viam/components/gantry/__init__.py +1 -13
  43. viam/components/gantry/client.py +80 -25
  44. viam/components/gantry/gantry.py +123 -9
  45. viam/components/gantry/service.py +51 -29
  46. viam/components/generic/__init__.py +1 -1
  47. viam/components/generic/client.py +21 -8
  48. viam/components/generic/generic.py +10 -2
  49. viam/components/generic/service.py +12 -7
  50. viam/components/gripper/__init__.py +3 -13
  51. viam/components/gripper/client.py +69 -21
  52. viam/components/gripper/gripper.py +123 -3
  53. viam/components/gripper/service.py +44 -22
  54. viam/components/input/__init__.py +1 -14
  55. viam/components/input/client.py +55 -23
  56. viam/components/input/input.py +106 -3
  57. viam/components/input/service.py +16 -21
  58. viam/components/motor/__init__.py +1 -21
  59. viam/components/motor/client.py +56 -33
  60. viam/components/motor/motor.py +127 -4
  61. viam/components/motor/service.py +33 -44
  62. viam/components/movement_sensor/__init__.py +1 -1
  63. viam/components/movement_sensor/client.py +102 -45
  64. viam/components/movement_sensor/movement_sensor.py +130 -61
  65. viam/components/movement_sensor/service.py +38 -41
  66. viam/components/pose_tracker/__init__.py +1 -1
  67. viam/components/pose_tracker/client.py +18 -7
  68. viam/components/pose_tracker/pose_tracker.py +4 -2
  69. viam/components/pose_tracker/service.py +12 -10
  70. viam/components/power_sensor/__init__.py +17 -0
  71. viam/components/power_sensor/client.py +86 -0
  72. viam/components/power_sensor/power_sensor.py +104 -0
  73. viam/components/power_sensor/service.py +72 -0
  74. viam/components/sensor/__init__.py +2 -1
  75. viam/components/sensor/client.py +26 -10
  76. viam/components/sensor/sensor.py +22 -4
  77. viam/components/sensor/service.py +20 -11
  78. viam/components/servo/__init__.py +1 -13
  79. viam/components/servo/client.py +47 -21
  80. viam/components/servo/service.py +15 -22
  81. viam/components/servo/servo.py +61 -2
  82. viam/components/switch/__init__.py +10 -0
  83. viam/components/switch/client.py +83 -0
  84. viam/components/switch/service.py +72 -0
  85. viam/components/switch/switch.py +98 -0
  86. viam/errors.py +10 -0
  87. viam/gen/app/agent/v1/agent_grpc.py +29 -0
  88. viam/gen/app/agent/v1/agent_pb2.py +47 -0
  89. viam/gen/app/agent/v1/agent_pb2.pyi +280 -0
  90. viam/gen/app/cloudslam/v1/__init__.py +0 -0
  91. viam/gen/app/cloudslam/v1/cloud_slam_grpc.py +70 -0
  92. viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +54 -0
  93. viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +384 -0
  94. viam/gen/app/data/v1/data_grpc.py +197 -8
  95. viam/gen/app/data/v1/data_pb2.py +238 -99
  96. viam/gen/app/data/v1/data_pb2.pyi +1222 -259
  97. viam/gen/app/datapipelines/__init__.py +0 -0
  98. viam/gen/app/datapipelines/v1/__init__.py +0 -0
  99. viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
  100. viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +57 -0
  101. viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +387 -0
  102. viam/gen/app/dataset/__init__.py +0 -0
  103. viam/gen/app/dataset/v1/__init__.py +0 -0
  104. viam/gen/app/dataset/v1/dataset_grpc.py +68 -0
  105. viam/gen/app/dataset/v1/dataset_pb2.py +44 -0
  106. viam/gen/app/dataset/v1/dataset_pb2.pyi +214 -0
  107. viam/gen/app/datasync/v1/data_sync_grpc.py +21 -4
  108. viam/gen/app/datasync/v1/data_sync_pb2.py +62 -128
  109. viam/gen/app/datasync/v1/data_sync_pb2.pyi +156 -199
  110. viam/gen/app/mlinference/__init__.py +0 -0
  111. viam/gen/app/mlinference/v1/__init__.py +0 -0
  112. viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
  113. viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
  114. viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
  115. viam/gen/app/mltraining/v1/ml_training_grpc.py +51 -3
  116. viam/gen/app/mltraining/v1/ml_training_pb2.py +135 -58
  117. viam/gen/app/mltraining/v1/ml_training_pb2.pyi +328 -39
  118. viam/gen/app/packages/v1/packages_grpc.py +15 -1
  119. viam/gen/app/packages/v1/packages_pb2.py +44 -64
  120. viam/gen/app/packages/v1/packages_pb2.pyi +75 -85
  121. viam/gen/app/v1/app_grpc.py +644 -3
  122. viam/gen/app/v1/app_pb2.py +695 -295
  123. viam/gen/app/v1/app_pb2.pyi +4488 -635
  124. viam/gen/app/v1/billing_grpc.py +53 -11
  125. viam/gen/app/v1/billing_pb2.py +94 -39
  126. viam/gen/app/v1/billing_pb2.pyi +391 -191
  127. viam/gen/app/v1/end_user_grpc.py +59 -0
  128. viam/gen/app/v1/end_user_pb2.py +55 -0
  129. viam/gen/app/v1/end_user_pb2.pyi +181 -0
  130. viam/gen/app/v1/robot_grpc.py +16 -1
  131. viam/gen/app/v1/robot_pb2.py +122 -94
  132. viam/gen/app/v1/robot_pb2.pyi +463 -123
  133. viam/gen/common/v1/common_pb2.py +87 -58
  134. viam/gen/common/v1/common_pb2.pyi +456 -149
  135. viam/gen/component/arm/v1/arm_grpc.py +58 -2
  136. viam/gen/component/arm/v1/arm_pb2.py +68 -51
  137. viam/gen/component/arm/v1/arm_pb2.pyi +108 -42
  138. viam/gen/component/audioin/__init__.py +0 -0
  139. viam/gen/component/audioin/v1/__init__.py +0 -0
  140. viam/gen/component/audioin/v1/audioin_grpc.py +54 -0
  141. viam/gen/component/audioin/v1/audioin_pb2.py +34 -0
  142. viam/gen/component/audioin/v1/audioin_pb2.pyi +94 -0
  143. viam/gen/component/audioinput/v1/audioinput_grpc.py +25 -2
  144. viam/gen/component/audioinput/v1/audioinput_pb2.py +36 -31
  145. viam/gen/component/audioinput/v1/audioinput_pb2.pyi +22 -22
  146. viam/gen/component/audioout/__init__.py +0 -0
  147. viam/gen/component/audioout/v1/__init__.py +0 -0
  148. viam/gen/component/audioout/v1/audioout_grpc.py +54 -0
  149. viam/gen/component/audioout/v1/audioout_pb2.py +32 -0
  150. viam/gen/component/audioout/v1/audioout_pb2.pyi +47 -0
  151. viam/gen/component/base/v1/base_grpc.py +42 -2
  152. viam/gen/component/base/v1/base_pb2.py +58 -47
  153. viam/gen/component/base/v1/base_pb2.pyi +65 -30
  154. viam/gen/component/board/v1/board_grpc.py +59 -7
  155. viam/gen/component/board/v1/board_pb2.py +94 -73
  156. viam/gen/component/board/v1/board_pb2.pyi +165 -68
  157. viam/gen/component/button/__init__.py +0 -0
  158. viam/gen/component/button/v1/__init__.py +0 -0
  159. viam/gen/component/button/v1/button_grpc.py +38 -0
  160. viam/gen/component/button/v1/button_pb2.py +28 -0
  161. viam/gen/component/button/v1/button_pb2.pyi +39 -0
  162. viam/gen/component/camera/v1/camera_grpc.py +38 -2
  163. viam/gen/component/camera/v1/camera_pb2.py +60 -43
  164. viam/gen/component/camera/v1/camera_pb2.pyi +191 -37
  165. viam/gen/component/encoder/v1/encoder_grpc.py +25 -2
  166. viam/gen/component/encoder/v1/encoder_pb2.py +36 -31
  167. viam/gen/component/encoder/v1/encoder_pb2.pyi +15 -15
  168. viam/gen/component/gantry/v1/gantry_grpc.py +47 -2
  169. viam/gen/component/gantry/v1/gantry_pb2.py +56 -43
  170. viam/gen/component/gantry/v1/gantry_pb2.pyi +67 -31
  171. viam/gen/component/generic/v1/generic_grpc.py +16 -2
  172. viam/gen/component/generic/v1/generic_pb2.py +16 -11
  173. viam/gen/component/gripper/v1/gripper_grpc.py +44 -2
  174. viam/gen/component/gripper/v1/gripper_pb2.py +48 -35
  175. viam/gen/component/gripper/v1/gripper_pb2.pyi +62 -24
  176. viam/gen/component/inputcontroller/v1/input_controller_grpc.py +28 -2
  177. viam/gen/component/inputcontroller/v1/input_controller_pb2.py +46 -41
  178. viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi +32 -36
  179. viam/gen/component/motor/v1/motor_grpc.py +51 -2
  180. viam/gen/component/motor/v1/motor_pb2.py +78 -67
  181. viam/gen/component/motor/v1/motor_pb2.pyi +75 -46
  182. viam/gen/component/movementsensor/v1/movementsensor_grpc.py +48 -2
  183. viam/gen/component/movementsensor/v1/movementsensor_pb2.py +70 -63
  184. viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi +84 -57
  185. viam/gen/component/posetracker/v1/pose_tracker_grpc.py +19 -2
  186. viam/gen/component/posetracker/v1/pose_tracker_pb2.py +26 -21
  187. viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi +9 -13
  188. viam/gen/component/powersensor/__init__.py +0 -0
  189. viam/gen/component/powersensor/v1/__init__.py +0 -0
  190. viam/gen/component/powersensor/v1/powersensor_grpc.py +62 -0
  191. viam/gen/component/powersensor/v1/powersensor_pb2.py +42 -0
  192. viam/gen/component/powersensor/v1/powersensor_pb2.pyi +124 -0
  193. viam/gen/component/sensor/v1/sensor_grpc.py +21 -5
  194. viam/gen/component/sensor/v1/sensor_pb2.py +18 -22
  195. viam/gen/component/sensor/v1/sensor_pb2.pyi +1 -69
  196. viam/gen/component/servo/v1/servo_grpc.py +28 -2
  197. viam/gen/component/servo/v1/servo_pb2.py +42 -37
  198. viam/gen/component/servo/v1/servo_pb2.pyi +22 -26
  199. viam/gen/component/switch/__init__.py +0 -0
  200. viam/gen/component/switch/v1/__init__.py +0 -0
  201. viam/gen/component/switch/v1/switch_grpc.py +54 -0
  202. viam/gen/component/switch/v1/switch_pb2.py +40 -0
  203. viam/gen/component/switch/v1/switch_pb2.pyi +116 -0
  204. viam/gen/component/testecho/v1/testecho_grpc.py +15 -0
  205. viam/gen/component/testecho/v1/testecho_pb2.py +29 -26
  206. viam/gen/component/testecho/v1/testecho_pb2.pyi +16 -20
  207. viam/gen/module/v1/module_grpc.py +18 -0
  208. viam/gen/module/v1/module_pb2.py +36 -33
  209. viam/gen/module/v1/module_pb2.pyi +39 -34
  210. viam/gen/opentelemetry/__init__.py +0 -0
  211. viam/gen/opentelemetry/proto/__init__.py +0 -0
  212. viam/gen/opentelemetry/proto/common/__init__.py +0 -0
  213. viam/gen/opentelemetry/proto/common/v1/__init__.py +0 -0
  214. viam/gen/opentelemetry/proto/common/v1/common_grpc.py +0 -0
  215. viam/gen/opentelemetry/proto/common/v1/common_pb2.py +27 -0
  216. viam/gen/opentelemetry/proto/common/v1/common_pb2.pyi +208 -0
  217. viam/gen/opentelemetry/proto/resource/__init__.py +0 -0
  218. viam/gen/opentelemetry/proto/resource/v1/__init__.py +0 -0
  219. viam/gen/opentelemetry/proto/resource/v1/resource_grpc.py +0 -0
  220. viam/gen/opentelemetry/proto/resource/v1/resource_pb2.py +18 -0
  221. viam/gen/opentelemetry/proto/resource/v1/resource_pb2.pyi +59 -0
  222. viam/gen/opentelemetry/proto/trace/__init__.py +0 -0
  223. viam/gen/opentelemetry/proto/trace/v1/__init__.py +0 -0
  224. viam/gen/opentelemetry/proto/trace/v1/trace_grpc.py +0 -0
  225. viam/gen/opentelemetry/proto/trace/v1/trace_pb2.py +37 -0
  226. viam/gen/opentelemetry/proto/trace/v1/trace_pb2.pyi +402 -0
  227. viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py +12 -0
  228. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +25 -22
  229. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi +13 -17
  230. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py +12 -0
  231. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +23 -20
  232. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi +13 -17
  233. viam/gen/proto/rpc/v1/auth_grpc.py +11 -0
  234. viam/gen/proto/rpc/v1/auth_pb2.py +27 -24
  235. viam/gen/proto/rpc/v1/auth_pb2.pyi +12 -16
  236. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +35 -32
  237. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi +37 -41
  238. viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py +15 -0
  239. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +62 -57
  240. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +78 -69
  241. viam/gen/provisioning/__init__.py +0 -0
  242. viam/gen/provisioning/v1/__init__.py +0 -0
  243. viam/gen/provisioning/v1/provisioning_grpc.py +59 -0
  244. viam/gen/provisioning/v1/provisioning_pb2.py +45 -0
  245. viam/gen/provisioning/v1/provisioning_pb2.pyi +229 -0
  246. viam/gen/robot/v1/robot_grpc.py +144 -15
  247. viam/gen/robot/v1/robot_pb2.py +193 -119
  248. viam/gen/robot/v1/robot_pb2.pyi +565 -137
  249. viam/gen/service/datamanager/v1/data_manager_grpc.py +20 -2
  250. viam/gen/service/datamanager/v1/data_manager_pb2.py +27 -17
  251. viam/gen/service/datamanager/v1/data_manager_pb2.pyi +52 -10
  252. viam/gen/service/discovery/__init__.py +0 -0
  253. viam/gen/service/discovery/v1/__init__.py +0 -0
  254. viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
  255. viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
  256. viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
  257. viam/gen/service/generic/__init__.py +0 -0
  258. viam/gen/service/generic/v1/__init__.py +0 -0
  259. viam/gen/service/generic/v1/generic_grpc.py +29 -0
  260. viam/gen/service/generic/v1/generic_pb2.py +21 -0
  261. viam/gen/service/generic/v1/generic_pb2.pyi +6 -0
  262. viam/gen/service/mlmodel/v1/mlmodel_grpc.py +9 -0
  263. viam/gen/service/mlmodel/v1/mlmodel_pb2.py +76 -29
  264. viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi +307 -28
  265. viam/gen/service/motion/v1/motion_grpc.py +42 -4
  266. viam/gen/service/motion/v1/motion_pb2.py +119 -51
  267. viam/gen/service/motion/v1/motion_pb2.pyi +595 -120
  268. viam/gen/service/navigation/v1/navigation_grpc.py +49 -1
  269. viam/gen/service/navigation/v1/navigation_pb2.py +76 -51
  270. viam/gen/service/navigation/v1/navigation_pb2.pyi +188 -33
  271. viam/gen/service/sensors/v1/sensors_grpc.py +12 -0
  272. viam/gen/service/sensors/v1/sensors_pb2.py +60 -29
  273. viam/gen/service/sensors/v1/sensors_pb2.pyi +18 -21
  274. viam/gen/service/shell/v1/shell_grpc.py +27 -1
  275. viam/gen/service/shell/v1/shell_pb2.py +37 -15
  276. viam/gen/service/shell/v1/shell_pb2.pyi +260 -7
  277. viam/gen/service/slam/v1/slam_grpc.py +24 -2
  278. viam/gen/service/slam/v1/slam_pb2.py +44 -30
  279. viam/gen/service/slam/v1/slam_pb2.pyi +128 -27
  280. viam/gen/service/video/__init__.py +0 -0
  281. viam/gen/service/video/v1/__init__.py +0 -0
  282. viam/gen/service/video/v1/video_grpc.py +39 -0
  283. viam/gen/service/video/v1/video_pb2.py +29 -0
  284. viam/gen/service/video/v1/video_pb2.pyi +72 -0
  285. viam/gen/service/vision/v1/vision_grpc.py +39 -1
  286. viam/gen/service/vision/v1/vision_pb2.py +61 -45
  287. viam/gen/service/vision/v1/vision_pb2.pyi +180 -41
  288. viam/gen/service/worldstatestore/__init__.py +0 -0
  289. viam/gen/service/worldstatestore/v1/__init__.py +0 -0
  290. viam/gen/service/worldstatestore/v1/world_state_store_grpc.py +55 -0
  291. viam/gen/service/worldstatestore/v1/world_state_store_pb2.py +39 -0
  292. viam/gen/service/worldstatestore/v1/world_state_store_pb2.pyi +171 -0
  293. viam/gen/stream/__init__.py +0 -0
  294. viam/gen/stream/v1/__init__.py +0 -0
  295. viam/gen/stream/v1/stream_grpc.py +59 -0
  296. viam/gen/stream/v1/stream_pb2.py +39 -0
  297. viam/gen/stream/v1/stream_pb2.pyi +161 -0
  298. viam/gen/tagger/v1/tagger_pb2.py +9 -8
  299. viam/logging.py +160 -17
  300. viam/media/__init__.py +0 -9
  301. viam/media/audio.py +22 -10
  302. viam/media/utils/__init__.py +0 -0
  303. viam/media/utils/pil/__init__.py +55 -0
  304. viam/media/{viam_rgba_plugin.py → utils/pil/viam_rgba_plugin.py} +10 -16
  305. viam/media/viam_rgba.py +10 -0
  306. viam/media/video.py +197 -73
  307. viam/module/module.py +191 -44
  308. viam/module/resource_data_consumer.py +41 -0
  309. viam/module/service.py +9 -1
  310. viam/module/types.py +4 -5
  311. viam/operations.py +4 -3
  312. viam/proto/app/__init__.py +361 -5
  313. viam/proto/app/agent/__init__.py +28 -0
  314. viam/proto/app/billing.py +51 -27
  315. viam/proto/app/cloudslam/__init__.py +48 -0
  316. viam/proto/app/data/__init__.py +103 -17
  317. viam/proto/app/datapipelines/__init__.py +56 -0
  318. viam/proto/app/dataset/__init__.py +40 -0
  319. viam/proto/app/datasync/__init__.py +11 -5
  320. viam/proto/app/end_user.py +34 -0
  321. viam/proto/app/mlinference/__init__.py +15 -0
  322. viam/proto/app/mltraining/__init__.py +25 -1
  323. viam/proto/app/packages/__init__.py +3 -3
  324. viam/proto/app/robot.py +19 -1
  325. viam/proto/common/__init__.py +35 -8
  326. viam/proto/component/arm/__init__.py +9 -1
  327. viam/proto/component/audioin/__init__.py +16 -0
  328. viam/proto/component/audioinput/__init__.py +3 -1
  329. viam/proto/component/audioout/__init__.py +15 -0
  330. viam/proto/component/base/__init__.py +7 -1
  331. viam/proto/component/board/__init__.py +13 -5
  332. viam/proto/component/button/__init__.py +15 -0
  333. viam/proto/component/camera/__init__.py +9 -1
  334. viam/proto/component/encoder/__init__.py +3 -1
  335. viam/proto/component/gantry/__init__.py +7 -1
  336. viam/proto/component/generic/__init__.py +3 -1
  337. viam/proto/component/gripper/__init__.py +7 -1
  338. viam/proto/component/inputcontroller/__init__.py +7 -1
  339. viam/proto/component/motor/__init__.py +7 -1
  340. viam/proto/component/movementsensor/__init__.py +7 -1
  341. viam/proto/component/posetracker/__init__.py +7 -1
  342. viam/proto/component/powersensor/__init__.py +30 -0
  343. viam/proto/component/sensor/__init__.py +3 -4
  344. viam/proto/component/servo/__init__.py +3 -1
  345. viam/proto/component/switch/__init__.py +26 -0
  346. viam/proto/component/testecho/__init__.py +3 -1
  347. viam/proto/module/__init__.py +3 -1
  348. viam/proto/opentelemetry/__init__.py +0 -0
  349. viam/proto/opentelemetry/proto/__init__.py +0 -0
  350. viam/proto/opentelemetry/proto/common/__init__.py +15 -0
  351. viam/proto/opentelemetry/proto/resource/__init__.py +10 -0
  352. viam/proto/opentelemetry/proto/trace/__init__.py +15 -0
  353. viam/proto/provisioning/__init__.py +42 -0
  354. viam/proto/robot/__init__.py +57 -9
  355. viam/proto/rpc/auth.py +11 -1
  356. viam/proto/rpc/examples/echo/__init__.py +3 -1
  357. viam/proto/rpc/examples/echoresource/__init__.py +7 -1
  358. viam/proto/rpc/webrtc/grpc.py +3 -1
  359. viam/proto/rpc/webrtc/signaling.py +5 -1
  360. viam/proto/service/datamanager/__init__.py +15 -2
  361. viam/proto/service/discovery/__init__.py +15 -0
  362. viam/proto/service/generic/__init__.py +12 -0
  363. viam/proto/service/mlmodel/__init__.py +27 -1
  364. viam/proto/service/motion/__init__.py +35 -5
  365. viam/proto/service/navigation/__init__.py +19 -1
  366. viam/proto/service/sensors/__init__.py +3 -1
  367. viam/proto/service/shell/__init__.py +25 -2
  368. viam/proto/service/slam/__init__.py +13 -1
  369. viam/proto/service/video/__init__.py +15 -0
  370. viam/proto/service/vision/__init__.py +11 -1
  371. viam/proto/service/worldstatestore/__init__.py +32 -0
  372. viam/proto/stream/__init__.py +36 -0
  373. viam/py.typed +0 -0
  374. viam/resource/base.py +45 -8
  375. viam/resource/easy_resource.py +149 -0
  376. viam/resource/manager.py +35 -14
  377. viam/resource/registry.py +40 -52
  378. viam/resource/rpc_client_base.py +33 -1
  379. viam/resource/rpc_service_base.py +15 -8
  380. viam/resource/types.py +39 -26
  381. viam/robot/client.py +458 -91
  382. viam/robot/service.py +13 -107
  383. viam/rpc/dial.py +133 -15
  384. viam/rpc/libviam_rust_utils.so +0 -0
  385. viam/rpc/server.py +59 -15
  386. viam/rpc/types.py +2 -4
  387. viam/services/discovery/__init__.py +12 -0
  388. viam/services/discovery/client.py +55 -0
  389. viam/services/discovery/discovery.py +52 -0
  390. viam/services/discovery/service.py +43 -0
  391. viam/services/generic/__init__.py +18 -0
  392. viam/services/generic/client.py +58 -0
  393. viam/services/generic/generic.py +58 -0
  394. viam/services/generic/service.py +29 -0
  395. viam/services/mlmodel/__init__.py +15 -1
  396. viam/services/mlmodel/client.py +20 -15
  397. viam/services/mlmodel/mlmodel.py +44 -7
  398. viam/services/mlmodel/service.py +9 -13
  399. viam/services/mlmodel/utils.py +101 -0
  400. viam/services/motion/__init__.py +15 -3
  401. viam/services/motion/client.py +109 -150
  402. viam/services/motion/motion.py +380 -0
  403. viam/services/motion/service.py +132 -0
  404. viam/services/navigation/__init__.py +11 -0
  405. viam/services/navigation/client.py +99 -0
  406. viam/services/navigation/navigation.py +250 -0
  407. viam/services/navigation/service.py +137 -0
  408. viam/services/service_base.py +43 -4
  409. viam/services/service_client_base.py +4 -4
  410. viam/services/slam/__init__.py +4 -1
  411. viam/services/slam/client.py +21 -11
  412. viam/services/slam/service.py +16 -19
  413. viam/services/slam/slam.py +66 -5
  414. viam/services/vision/__init__.py +8 -0
  415. viam/services/vision/client.py +115 -111
  416. viam/services/vision/service.py +143 -0
  417. viam/services/vision/vision.py +317 -0
  418. viam/services/worldstatestore/__init__.py +18 -0
  419. viam/services/worldstatestore/client.py +94 -0
  420. viam/services/worldstatestore/service.py +55 -0
  421. viam/services/worldstatestore/worldstatestore.py +90 -0
  422. viam/sessions_client.py +254 -0
  423. viam/streams.py +44 -0
  424. viam/utils.py +143 -15
  425. viam/version_metadata.py +4 -0
  426. viam_sdk-0.66.0.dist-info/METADATA +157 -0
  427. viam_sdk-0.66.0.dist-info/RECORD +531 -0
  428. {viam_sdk-0.3.0.dist-info → viam_sdk-0.66.0.dist-info}/WHEEL +1 -1
  429. viam/components/audio_input/__init__.py +0 -18
  430. viam/components/audio_input/audio_input.py +0 -79
  431. viam/components/audio_input/client.py +0 -60
  432. viam/components/audio_input/service.py +0 -118
  433. viam/components/types.py +0 -5
  434. viam/gen/app/model/v1/model_grpc.py +0 -39
  435. viam/gen/app/model/v1/model_pb2.py +0 -71
  436. viam/gen/app/model/v1/model_pb2.pyi +0 -285
  437. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +0 -21
  438. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +0 -18
  439. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +0 -49
  440. viam/media/media.py +0 -53
  441. viam/proto/app/model/__init__.py +0 -40
  442. viam/proto/rpc/examples/fileupload/__init__.py +0 -13
  443. viam/services/sensors/__init__.py +0 -5
  444. viam/services/sensors/client.py +0 -63
  445. viam_sdk-0.3.0.dist-info/LICENSE +0 -202
  446. viam_sdk-0.3.0.dist-info/METADATA +0 -122
  447. viam_sdk-0.3.0.dist-info/RECORD +0 -372
  448. /viam/{gen/app/model → app}/__init__.py +0 -0
  449. /viam/gen/app/{model/v1 → agent}/__init__.py +0 -0
  450. /viam/gen/{proto/rpc/examples/fileupload → app/agent/v1}/__init__.py +0 -0
  451. /viam/gen/{proto/rpc/examples/fileupload/v1 → app/cloudslam}/__init__.py +0 -0
  452. /LICENSE → /viam_sdk-0.66.0.dist-info/licenses/LICENSE +0 -0
@@ -7,17 +7,37 @@ import collections.abc
7
7
  import google.protobuf.descriptor
8
8
  import google.protobuf.descriptor_pb2
9
9
  import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
10
11
  import google.protobuf.internal.extension_dict
11
12
  import google.protobuf.message
12
13
  import google.protobuf.struct_pb2
14
+ import google.protobuf.timestamp_pb2
13
15
  import sys
14
- if sys.version_info >= (3, 8):
16
+ import typing
17
+ if sys.version_info >= (3, 10):
15
18
  import typing as typing_extensions
16
19
  else:
17
20
  import typing_extensions
18
21
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
19
22
 
20
- @typing_extensions.final
23
+ class _KinematicsFileFormat:
24
+ ValueType = typing.NewType('ValueType', builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _KinematicsFileFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_KinematicsFileFormat.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ KINEMATICS_FILE_FORMAT_UNSPECIFIED: _KinematicsFileFormat.ValueType
30
+ KINEMATICS_FILE_FORMAT_SVA: _KinematicsFileFormat.ValueType
31
+ KINEMATICS_FILE_FORMAT_URDF: _KinematicsFileFormat.ValueType
32
+
33
+ class KinematicsFileFormat(_KinematicsFileFormat, metaclass=_KinematicsFileFormatEnumTypeWrapper):
34
+ ...
35
+ KINEMATICS_FILE_FORMAT_UNSPECIFIED: KinematicsFileFormat.ValueType
36
+ KINEMATICS_FILE_FORMAT_SVA: KinematicsFileFormat.ValueType
37
+ KINEMATICS_FILE_FORMAT_URDF: KinematicsFileFormat.ValueType
38
+ global___KinematicsFileFormat = KinematicsFileFormat
39
+
40
+ @typing.final
21
41
  class ResourceName(google.protobuf.message.Message):
22
42
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
23
43
  NAMESPACE_FIELD_NUMBER: builtins.int
@@ -32,100 +52,11 @@ class ResourceName(google.protobuf.message.Message):
32
52
  def __init__(self, *, namespace: builtins.str=..., type: builtins.str=..., subtype: builtins.str=..., name: builtins.str=...) -> None:
33
53
  ...
34
54
 
35
- def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'namespace', b'namespace', 'subtype', b'subtype', 'type', b'type']) -> None:
55
+ def ClearField(self, field_name: typing.Literal['name', b'name', 'namespace', b'namespace', 'subtype', b'subtype', 'type', b'type']) -> None:
36
56
  ...
37
57
  global___ResourceName = ResourceName
38
58
 
39
- @typing_extensions.final
40
- class BoardStatus(google.protobuf.message.Message):
41
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
42
-
43
- @typing_extensions.final
44
- class AnalogsEntry(google.protobuf.message.Message):
45
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
46
- KEY_FIELD_NUMBER: builtins.int
47
- VALUE_FIELD_NUMBER: builtins.int
48
- key: builtins.str
49
-
50
- @property
51
- def value(self) -> global___AnalogStatus:
52
- ...
53
-
54
- def __init__(self, *, key: builtins.str=..., value: global___AnalogStatus | None=...) -> None:
55
- ...
56
-
57
- def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool:
58
- ...
59
-
60
- def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None:
61
- ...
62
-
63
- @typing_extensions.final
64
- class DigitalInterruptsEntry(google.protobuf.message.Message):
65
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
66
- KEY_FIELD_NUMBER: builtins.int
67
- VALUE_FIELD_NUMBER: builtins.int
68
- key: builtins.str
69
-
70
- @property
71
- def value(self) -> global___DigitalInterruptStatus:
72
- ...
73
-
74
- def __init__(self, *, key: builtins.str=..., value: global___DigitalInterruptStatus | None=...) -> None:
75
- ...
76
-
77
- def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool:
78
- ...
79
-
80
- def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None:
81
- ...
82
- ANALOGS_FIELD_NUMBER: builtins.int
83
- DIGITAL_INTERRUPTS_FIELD_NUMBER: builtins.int
84
-
85
- @property
86
- def analogs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___AnalogStatus]:
87
- ...
88
-
89
- @property
90
- def digital_interrupts(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___DigitalInterruptStatus]:
91
- ...
92
-
93
- def __init__(self, *, analogs: collections.abc.Mapping[builtins.str, global___AnalogStatus] | None=..., digital_interrupts: collections.abc.Mapping[builtins.str, global___DigitalInterruptStatus] | None=...) -> None:
94
- ...
95
-
96
- def ClearField(self, field_name: typing_extensions.Literal['analogs', b'analogs', 'digital_interrupts', b'digital_interrupts']) -> None:
97
- ...
98
- global___BoardStatus = BoardStatus
99
-
100
- @typing_extensions.final
101
- class AnalogStatus(google.protobuf.message.Message):
102
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
103
- VALUE_FIELD_NUMBER: builtins.int
104
- value: builtins.int
105
- "Current value of the analog reader of a robot's board"
106
-
107
- def __init__(self, *, value: builtins.int=...) -> None:
108
- ...
109
-
110
- def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None:
111
- ...
112
- global___AnalogStatus = AnalogStatus
113
-
114
- @typing_extensions.final
115
- class DigitalInterruptStatus(google.protobuf.message.Message):
116
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
117
- VALUE_FIELD_NUMBER: builtins.int
118
- value: builtins.int
119
- "Current value of the digital interrupt of a robot's board"
120
-
121
- def __init__(self, *, value: builtins.int=...) -> None:
122
- ...
123
-
124
- def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None:
125
- ...
126
- global___DigitalInterruptStatus = DigitalInterruptStatus
127
-
128
- @typing_extensions.final
59
+ @typing.final
129
60
  class Pose(google.protobuf.message.Message):
130
61
  """Pose is a combination of location and orientation.
131
62
  Location is expressed as distance which is represented by x , y, z coordinates. Orientation is expressed as an orientation vector which
@@ -162,11 +93,11 @@ class Pose(google.protobuf.message.Message):
162
93
  def __init__(self, *, x: builtins.float=..., y: builtins.float=..., z: builtins.float=..., o_x: builtins.float=..., o_y: builtins.float=..., o_z: builtins.float=..., theta: builtins.float=...) -> None:
163
94
  ...
164
95
 
165
- def ClearField(self, field_name: typing_extensions.Literal['o_x', b'o_x', 'o_y', b'o_y', 'o_z', b'o_z', 'theta', b'theta', 'x', b'x', 'y', b'y', 'z', b'z']) -> None:
96
+ def ClearField(self, field_name: typing.Literal['o_x', b'o_x', 'o_y', b'o_y', 'o_z', b'o_z', 'theta', b'theta', 'x', b'x', 'y', b'y', 'z', b'z']) -> None:
166
97
  ...
167
98
  global___Pose = Pose
168
99
 
169
- @typing_extensions.final
100
+ @typing.final
170
101
  class Orientation(google.protobuf.message.Message):
171
102
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
172
103
  O_X_FIELD_NUMBER: builtins.int
@@ -185,13 +116,13 @@ class Orientation(google.protobuf.message.Message):
185
116
  def __init__(self, *, o_x: builtins.float=..., o_y: builtins.float=..., o_z: builtins.float=..., theta: builtins.float=...) -> None:
186
117
  ...
187
118
 
188
- def ClearField(self, field_name: typing_extensions.Literal['o_x', b'o_x', 'o_y', b'o_y', 'o_z', b'o_z', 'theta', b'theta']) -> None:
119
+ def ClearField(self, field_name: typing.Literal['o_x', b'o_x', 'o_y', b'o_y', 'o_z', b'o_z', 'theta', b'theta']) -> None:
189
120
  ...
190
121
  global___Orientation = Orientation
191
122
 
192
- @typing_extensions.final
123
+ @typing.final
193
124
  class PoseInFrame(google.protobuf.message.Message):
194
- """PoseInFrame contains a pose and the and the reference frame in which it was observed"""
125
+ """PoseInFrame contains a pose and the reference frame in which it was observed"""
195
126
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
196
127
  REFERENCE_FRAME_FIELD_NUMBER: builtins.int
197
128
  POSE_FIELD_NUMBER: builtins.int
@@ -204,14 +135,14 @@ class PoseInFrame(google.protobuf.message.Message):
204
135
  def __init__(self, *, reference_frame: builtins.str=..., pose: global___Pose | None=...) -> None:
205
136
  ...
206
137
 
207
- def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool:
138
+ def HasField(self, field_name: typing.Literal['pose', b'pose']) -> builtins.bool:
208
139
  ...
209
140
 
210
- def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose', 'reference_frame', b'reference_frame']) -> None:
141
+ def ClearField(self, field_name: typing.Literal['pose', b'pose', 'reference_frame', b'reference_frame']) -> None:
211
142
  ...
212
143
  global___PoseInFrame = PoseInFrame
213
144
 
214
- @typing_extensions.final
145
+ @typing.final
215
146
  class Vector3(google.protobuf.message.Message):
216
147
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
217
148
  X_FIELD_NUMBER: builtins.int
@@ -224,11 +155,11 @@ class Vector3(google.protobuf.message.Message):
224
155
  def __init__(self, *, x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None:
225
156
  ...
226
157
 
227
- def ClearField(self, field_name: typing_extensions.Literal['x', b'x', 'y', b'y', 'z', b'z']) -> None:
158
+ def ClearField(self, field_name: typing.Literal['x', b'x', 'y', b'y', 'z', b'z']) -> None:
228
159
  ...
229
160
  global___Vector3 = Vector3
230
161
 
231
- @typing_extensions.final
162
+ @typing.final
232
163
  class Sphere(google.protobuf.message.Message):
233
164
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
234
165
  RADIUS_MM_FIELD_NUMBER: builtins.int
@@ -237,11 +168,11 @@ class Sphere(google.protobuf.message.Message):
237
168
  def __init__(self, *, radius_mm: builtins.float=...) -> None:
238
169
  ...
239
170
 
240
- def ClearField(self, field_name: typing_extensions.Literal['radius_mm', b'radius_mm']) -> None:
171
+ def ClearField(self, field_name: typing.Literal['radius_mm', b'radius_mm']) -> None:
241
172
  ...
242
173
  global___Sphere = Sphere
243
174
 
244
- @typing_extensions.final
175
+ @typing.final
245
176
  class Capsule(google.protobuf.message.Message):
246
177
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
247
178
  RADIUS_MM_FIELD_NUMBER: builtins.int
@@ -252,11 +183,11 @@ class Capsule(google.protobuf.message.Message):
252
183
  def __init__(self, *, radius_mm: builtins.float=..., length_mm: builtins.float=...) -> None:
253
184
  ...
254
185
 
255
- def ClearField(self, field_name: typing_extensions.Literal['length_mm', b'length_mm', 'radius_mm', b'radius_mm']) -> None:
186
+ def ClearField(self, field_name: typing.Literal['length_mm', b'length_mm', 'radius_mm', b'radius_mm']) -> None:
256
187
  ...
257
188
  global___Capsule = Capsule
258
189
 
259
- @typing_extensions.final
190
+ @typing.final
260
191
  class RectangularPrism(google.protobuf.message.Message):
261
192
  """RectangularPrism contains a Vector3 field corresponding to the X, Y, Z dimensions of the prism in mms
262
193
  These dimensions are with respect to the referenceframe in which the RectangularPrism is defined
@@ -271,14 +202,44 @@ class RectangularPrism(google.protobuf.message.Message):
271
202
  def __init__(self, *, dims_mm: global___Vector3 | None=...) -> None:
272
203
  ...
273
204
 
274
- def HasField(self, field_name: typing_extensions.Literal['dims_mm', b'dims_mm']) -> builtins.bool:
205
+ def HasField(self, field_name: typing.Literal['dims_mm', b'dims_mm']) -> builtins.bool:
275
206
  ...
276
207
 
277
- def ClearField(self, field_name: typing_extensions.Literal['dims_mm', b'dims_mm']) -> None:
208
+ def ClearField(self, field_name: typing.Literal['dims_mm', b'dims_mm']) -> None:
278
209
  ...
279
210
  global___RectangularPrism = RectangularPrism
280
211
 
281
- @typing_extensions.final
212
+ @typing.final
213
+ class Mesh(google.protobuf.message.Message):
214
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
215
+ CONTENT_TYPE_FIELD_NUMBER: builtins.int
216
+ MESH_FIELD_NUMBER: builtins.int
217
+ content_type: builtins.str
218
+ 'Content type of mesh (e.g. ply)'
219
+ mesh: builtins.bytes
220
+ 'Contents of mesh data in binary form defined by content_type'
221
+
222
+ def __init__(self, *, content_type: builtins.str=..., mesh: builtins.bytes=...) -> None:
223
+ ...
224
+
225
+ def ClearField(self, field_name: typing.Literal['content_type', b'content_type', 'mesh', b'mesh']) -> None:
226
+ ...
227
+ global___Mesh = Mesh
228
+
229
+ @typing.final
230
+ class PointCloud(google.protobuf.message.Message):
231
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
232
+ POINT_CLOUD_FIELD_NUMBER: builtins.int
233
+ point_cloud: builtins.bytes
234
+
235
+ def __init__(self, *, point_cloud: builtins.bytes=...) -> None:
236
+ ...
237
+
238
+ def ClearField(self, field_name: typing.Literal['point_cloud', b'point_cloud']) -> None:
239
+ ...
240
+ global___PointCloud = PointCloud
241
+
242
+ @typing.final
282
243
  class Geometry(google.protobuf.message.Message):
283
244
  """Geometry contains the dimensions of a given geometry and the pose of its center. The geometry is one of either a sphere or a box."""
284
245
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -286,7 +247,11 @@ class Geometry(google.protobuf.message.Message):
286
247
  SPHERE_FIELD_NUMBER: builtins.int
287
248
  BOX_FIELD_NUMBER: builtins.int
288
249
  CAPSULE_FIELD_NUMBER: builtins.int
250
+ MESH_FIELD_NUMBER: builtins.int
251
+ POINTCLOUD_FIELD_NUMBER: builtins.int
289
252
  LABEL_FIELD_NUMBER: builtins.int
253
+ label: builtins.str
254
+ 'Label of the geometry. If none supplied, will be an empty string.'
290
255
 
291
256
  @property
292
257
  def center(self) -> global___Pose:
@@ -303,23 +268,29 @@ class Geometry(google.protobuf.message.Message):
303
268
  @property
304
269
  def capsule(self) -> global___Capsule:
305
270
  ...
306
- label: builtins.str
307
- 'Label of the geometry. If none supplied, will be an empty string.'
308
271
 
309
- def __init__(self, *, center: global___Pose | None=..., sphere: global___Sphere | None=..., box: global___RectangularPrism | None=..., capsule: global___Capsule | None=..., label: builtins.str=...) -> None:
272
+ @property
273
+ def mesh(self) -> global___Mesh:
274
+ ...
275
+
276
+ @property
277
+ def pointcloud(self) -> global___PointCloud:
278
+ ...
279
+
280
+ def __init__(self, *, center: global___Pose | None=..., sphere: global___Sphere | None=..., box: global___RectangularPrism | None=..., capsule: global___Capsule | None=..., mesh: global___Mesh | None=..., pointcloud: global___PointCloud | None=..., label: builtins.str=...) -> None:
310
281
  ...
311
282
 
312
- def HasField(self, field_name: typing_extensions.Literal['box', b'box', 'capsule', b'capsule', 'center', b'center', 'geometry_type', b'geometry_type', 'sphere', b'sphere']) -> builtins.bool:
283
+ def HasField(self, field_name: typing.Literal['box', b'box', 'capsule', b'capsule', 'center', b'center', 'geometry_type', b'geometry_type', 'mesh', b'mesh', 'pointcloud', b'pointcloud', 'sphere', b'sphere']) -> builtins.bool:
313
284
  ...
314
285
 
315
- def ClearField(self, field_name: typing_extensions.Literal['box', b'box', 'capsule', b'capsule', 'center', b'center', 'geometry_type', b'geometry_type', 'label', b'label', 'sphere', b'sphere']) -> None:
286
+ def ClearField(self, field_name: typing.Literal['box', b'box', 'capsule', b'capsule', 'center', b'center', 'geometry_type', b'geometry_type', 'label', b'label', 'mesh', b'mesh', 'pointcloud', b'pointcloud', 'sphere', b'sphere']) -> None:
316
287
  ...
317
288
 
318
- def WhichOneof(self, oneof_group: typing_extensions.Literal['geometry_type', b'geometry_type']) -> typing_extensions.Literal['sphere', 'box', 'capsule'] | None:
289
+ def WhichOneof(self, oneof_group: typing.Literal['geometry_type', b'geometry_type']) -> typing.Literal['sphere', 'box', 'capsule', 'mesh', 'pointcloud'] | None:
319
290
  ...
320
291
  global___Geometry = Geometry
321
292
 
322
- @typing_extensions.final
293
+ @typing.final
323
294
  class GeometriesInFrame(google.protobuf.message.Message):
324
295
  """GeometriesinFrame contains the dimensions of a given geometry, pose of its center point, and the reference frame by which it was
325
296
  observed.
@@ -337,11 +308,11 @@ class GeometriesInFrame(google.protobuf.message.Message):
337
308
  def __init__(self, *, reference_frame: builtins.str=..., geometries: collections.abc.Iterable[global___Geometry] | None=...) -> None:
338
309
  ...
339
310
 
340
- def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries', 'reference_frame', b'reference_frame']) -> None:
311
+ def ClearField(self, field_name: typing.Literal['geometries', b'geometries', 'reference_frame', b'reference_frame']) -> None:
341
312
  ...
342
313
  global___GeometriesInFrame = GeometriesInFrame
343
314
 
344
- @typing_extensions.final
315
+ @typing.final
345
316
  class PointCloudObject(google.protobuf.message.Message):
346
317
  """PointCloudObject contains an image in bytes with point cloud data of all of the objects captured by a given observer as well as a
347
318
  repeated list of geometries which respresents the center point and geometry of each of the objects within the point cloud
@@ -359,14 +330,14 @@ class PointCloudObject(google.protobuf.message.Message):
359
330
  def __init__(self, *, point_cloud: builtins.bytes=..., geometries: global___GeometriesInFrame | None=...) -> None:
360
331
  ...
361
332
 
362
- def HasField(self, field_name: typing_extensions.Literal['geometries', b'geometries']) -> builtins.bool:
333
+ def HasField(self, field_name: typing.Literal['geometries', b'geometries']) -> builtins.bool:
363
334
  ...
364
335
 
365
- def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries', 'point_cloud', b'point_cloud']) -> None:
336
+ def ClearField(self, field_name: typing.Literal['geometries', b'geometries', 'point_cloud', b'point_cloud']) -> None:
366
337
  ...
367
338
  global___PointCloudObject = PointCloudObject
368
339
 
369
- @typing_extensions.final
340
+ @typing.final
370
341
  class GeoPoint(google.protobuf.message.Message):
371
342
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
372
343
  LATITUDE_FIELD_NUMBER: builtins.int
@@ -377,38 +348,36 @@ class GeoPoint(google.protobuf.message.Message):
377
348
  def __init__(self, *, latitude: builtins.float=..., longitude: builtins.float=...) -> None:
378
349
  ...
379
350
 
380
- def ClearField(self, field_name: typing_extensions.Literal['latitude', b'latitude', 'longitude', b'longitude']) -> None:
351
+ def ClearField(self, field_name: typing.Literal['latitude', b'latitude', 'longitude', b'longitude']) -> None:
381
352
  ...
382
353
  global___GeoPoint = GeoPoint
383
354
 
384
- @typing_extensions.final
385
- class GeoObstacle(google.protobuf.message.Message):
386
- """GeoObstacle contains information about the geometric structure of an obstacle and the location of the obstacle,
387
- captured in latitude and longitude.
388
- """
355
+ @typing.final
356
+ class GeoGeometry(google.protobuf.message.Message):
357
+ """GeoGeometry contains information describing Geometry(s) that is located at a GeoPoint"""
389
358
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
390
359
  LOCATION_FIELD_NUMBER: builtins.int
391
360
  GEOMETRIES_FIELD_NUMBER: builtins.int
392
361
 
393
362
  @property
394
363
  def location(self) -> global___GeoPoint:
395
- """Location of the obstacle"""
364
+ """Location of the geometry"""
396
365
 
397
366
  @property
398
367
  def geometries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Geometry]:
399
- """Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location"""
368
+ """Geometries associated with the location, where embedded Pose data is with respect to the specified location"""
400
369
 
401
370
  def __init__(self, *, location: global___GeoPoint | None=..., geometries: collections.abc.Iterable[global___Geometry] | None=...) -> None:
402
371
  ...
403
372
 
404
- def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool:
373
+ def HasField(self, field_name: typing.Literal['location', b'location']) -> builtins.bool:
405
374
  ...
406
375
 
407
- def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries', 'location', b'location']) -> None:
376
+ def ClearField(self, field_name: typing.Literal['geometries', b'geometries', 'location', b'location']) -> None:
408
377
  ...
409
- global___GeoObstacle = GeoObstacle
378
+ global___GeoGeometry = GeoGeometry
410
379
 
411
- @typing_extensions.final
380
+ @typing.final
412
381
  class Transform(google.protobuf.message.Message):
413
382
  """Transform contains a pose and two reference frames. The first reference frame is the starting reference frame, and the second reference
414
383
  frame is the observer reference frame. The second reference frame has a pose which represents the pose of an object in the first
@@ -418,8 +387,12 @@ class Transform(google.protobuf.message.Message):
418
387
  REFERENCE_FRAME_FIELD_NUMBER: builtins.int
419
388
  POSE_IN_OBSERVER_FRAME_FIELD_NUMBER: builtins.int
420
389
  PHYSICAL_OBJECT_FIELD_NUMBER: builtins.int
390
+ UUID_FIELD_NUMBER: builtins.int
391
+ METADATA_FIELD_NUMBER: builtins.int
421
392
  reference_frame: builtins.str
422
393
  'the name of a given reference frame'
394
+ uuid: builtins.bytes
395
+ 'The UUID of the transform'
423
396
 
424
397
  @property
425
398
  def pose_in_observer_frame(self) -> global___PoseInFrame:
@@ -429,20 +402,29 @@ class Transform(google.protobuf.message.Message):
429
402
  def physical_object(self) -> global___Geometry:
430
403
  ...
431
404
 
432
- def __init__(self, *, reference_frame: builtins.str=..., pose_in_observer_frame: global___PoseInFrame | None=..., physical_object: global___Geometry | None=...) -> None:
405
+ @property
406
+ def metadata(self) -> google.protobuf.struct_pb2.Struct:
407
+ """Can hold information like color, opacity, points colors, collision_allowed, etc..."""
408
+
409
+ def __init__(self, *, reference_frame: builtins.str=..., pose_in_observer_frame: global___PoseInFrame | None=..., physical_object: global___Geometry | None=..., uuid: builtins.bytes=..., metadata: google.protobuf.struct_pb2.Struct | None=...) -> None:
410
+ ...
411
+
412
+ def HasField(self, field_name: typing.Literal['_metadata', b'_metadata', '_physical_object', b'_physical_object', 'metadata', b'metadata', 'physical_object', b'physical_object', 'pose_in_observer_frame', b'pose_in_observer_frame']) -> builtins.bool:
433
413
  ...
434
414
 
435
- def HasField(self, field_name: typing_extensions.Literal['_physical_object', b'_physical_object', 'physical_object', b'physical_object', 'pose_in_observer_frame', b'pose_in_observer_frame']) -> builtins.bool:
415
+ def ClearField(self, field_name: typing.Literal['_metadata', b'_metadata', '_physical_object', b'_physical_object', 'metadata', b'metadata', 'physical_object', b'physical_object', 'pose_in_observer_frame', b'pose_in_observer_frame', 'reference_frame', b'reference_frame', 'uuid', b'uuid']) -> None:
436
416
  ...
437
417
 
438
- def ClearField(self, field_name: typing_extensions.Literal['_physical_object', b'_physical_object', 'physical_object', b'physical_object', 'pose_in_observer_frame', b'pose_in_observer_frame', 'reference_frame', b'reference_frame']) -> None:
418
+ @typing.overload
419
+ def WhichOneof(self, oneof_group: typing.Literal['_metadata', b'_metadata']) -> typing.Literal['metadata'] | None:
439
420
  ...
440
421
 
441
- def WhichOneof(self, oneof_group: typing_extensions.Literal['_physical_object', b'_physical_object']) -> typing_extensions.Literal['physical_object'] | None:
422
+ @typing.overload
423
+ def WhichOneof(self, oneof_group: typing.Literal['_physical_object', b'_physical_object']) -> typing.Literal['physical_object'] | None:
442
424
  ...
443
425
  global___Transform = Transform
444
426
 
445
- @typing_extensions.final
427
+ @typing.final
446
428
  class WorldState(google.protobuf.message.Message):
447
429
  """WorldState contains information about the physical environment around a given robot. All of the fields within this message are optional,
448
430
  they can include information about the physical dimensions of an obstacle, the freespace of a robot, and any desired transforms between a
@@ -458,16 +440,18 @@ class WorldState(google.protobuf.message.Message):
458
440
 
459
441
  @property
460
442
  def transforms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Transform]:
461
- """a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional"""
443
+ """a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
444
+ another, or to attach moving geometries to the frame system. This field is optional
445
+ """
462
446
 
463
447
  def __init__(self, *, obstacles: collections.abc.Iterable[global___GeometriesInFrame] | None=..., transforms: collections.abc.Iterable[global___Transform] | None=...) -> None:
464
448
  ...
465
449
 
466
- def ClearField(self, field_name: typing_extensions.Literal['obstacles', b'obstacles', 'transforms', b'transforms']) -> None:
450
+ def ClearField(self, field_name: typing.Literal['obstacles', b'obstacles', 'transforms', b'transforms']) -> None:
467
451
  ...
468
452
  global___WorldState = WorldState
469
453
 
470
- @typing_extensions.final
454
+ @typing.final
471
455
  class ActuatorStatus(google.protobuf.message.Message):
472
456
  """ActuatorStatus is a generic status for resources that only need to return actuator status."""
473
457
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -477,11 +461,37 @@ class ActuatorStatus(google.protobuf.message.Message):
477
461
  def __init__(self, *, is_moving: builtins.bool=...) -> None:
478
462
  ...
479
463
 
480
- def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None:
464
+ def ClearField(self, field_name: typing.Literal['is_moving', b'is_moving']) -> None:
481
465
  ...
482
466
  global___ActuatorStatus = ActuatorStatus
483
467
 
484
- @typing_extensions.final
468
+ @typing.final
469
+ class ResponseMetadata(google.protobuf.message.Message):
470
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
471
+ CAPTURED_AT_FIELD_NUMBER: builtins.int
472
+
473
+ @property
474
+ def captured_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
475
+ """captured_at is the time at which the resource as close as physically possible, captured
476
+ the data in the response.
477
+ Note: If correlating between other resources, be sure that the means
478
+ of measuring the capture are similar enough such that comparison can be made between them.
479
+ """
480
+
481
+ def __init__(self, *, captured_at: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
482
+ ...
483
+
484
+ def HasField(self, field_name: typing.Literal['_captured_at', b'_captured_at', 'captured_at', b'captured_at']) -> builtins.bool:
485
+ ...
486
+
487
+ def ClearField(self, field_name: typing.Literal['_captured_at', b'_captured_at', 'captured_at', b'captured_at']) -> None:
488
+ ...
489
+
490
+ def WhichOneof(self, oneof_group: typing.Literal['_captured_at', b'_captured_at']) -> typing.Literal['captured_at'] | None:
491
+ ...
492
+ global___ResponseMetadata = ResponseMetadata
493
+
494
+ @typing.final
485
495
  class DoCommandRequest(google.protobuf.message.Message):
486
496
  """DoCommandRequest represents a generic DoCommand input"""
487
497
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -496,14 +506,14 @@ class DoCommandRequest(google.protobuf.message.Message):
496
506
  def __init__(self, *, name: builtins.str=..., command: google.protobuf.struct_pb2.Struct | None=...) -> None:
497
507
  ...
498
508
 
499
- def HasField(self, field_name: typing_extensions.Literal['command', b'command']) -> builtins.bool:
509
+ def HasField(self, field_name: typing.Literal['command', b'command']) -> builtins.bool:
500
510
  ...
501
511
 
502
- def ClearField(self, field_name: typing_extensions.Literal['command', b'command', 'name', b'name']) -> None:
512
+ def ClearField(self, field_name: typing.Literal['command', b'command', 'name', b'name']) -> None:
503
513
  ...
504
514
  global___DoCommandRequest = DoCommandRequest
505
515
 
506
- @typing_extensions.final
516
+ @typing.final
507
517
  class DoCommandResponse(google.protobuf.message.Message):
508
518
  """DoCommandResponse represents a generic DoCommand output"""
509
519
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -516,12 +526,309 @@ class DoCommandResponse(google.protobuf.message.Message):
516
526
  def __init__(self, *, result: google.protobuf.struct_pb2.Struct | None=...) -> None:
517
527
  ...
518
528
 
519
- def HasField(self, field_name: typing_extensions.Literal['result', b'result']) -> builtins.bool:
529
+ def HasField(self, field_name: typing.Literal['result', b'result']) -> builtins.bool:
520
530
  ...
521
531
 
522
- def ClearField(self, field_name: typing_extensions.Literal['result', b'result']) -> None:
532
+ def ClearField(self, field_name: typing.Literal['result', b'result']) -> None:
523
533
  ...
524
534
  global___DoCommandResponse = DoCommandResponse
535
+
536
+ @typing.final
537
+ class GetKinematicsRequest(google.protobuf.message.Message):
538
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
539
+ NAME_FIELD_NUMBER: builtins.int
540
+ EXTRA_FIELD_NUMBER: builtins.int
541
+ name: builtins.str
542
+ 'The component name'
543
+
544
+ @property
545
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
546
+ """Additional arguments to the method"""
547
+
548
+ def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
549
+ ...
550
+
551
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
552
+ ...
553
+
554
+ def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
555
+ ...
556
+ global___GetKinematicsRequest = GetKinematicsRequest
557
+
558
+ @typing.final
559
+ class GetKinematicsResponse(google.protobuf.message.Message):
560
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
561
+ FORMAT_FIELD_NUMBER: builtins.int
562
+ KINEMATICS_DATA_FIELD_NUMBER: builtins.int
563
+ format: global___KinematicsFileFormat.ValueType
564
+ 'The kinematics of the component, in either URDF format or in Viam’s kinematic parameter format (spatial vector algebra)\n https://docs.viam.com/internals/kinematic-chain-config/#kinematic-parameters\n '
565
+ kinematics_data: builtins.bytes
566
+ 'The byte contents of the file'
567
+
568
+ def __init__(self, *, format: global___KinematicsFileFormat.ValueType=..., kinematics_data: builtins.bytes=...) -> None:
569
+ ...
570
+
571
+ def ClearField(self, field_name: typing.Literal['format', b'format', 'kinematics_data', b'kinematics_data']) -> None:
572
+ ...
573
+ global___GetKinematicsResponse = GetKinematicsResponse
574
+
575
+ @typing.final
576
+ class GetGeometriesRequest(google.protobuf.message.Message):
577
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
578
+ NAME_FIELD_NUMBER: builtins.int
579
+ EXTRA_FIELD_NUMBER: builtins.int
580
+ name: builtins.str
581
+ 'The component name'
582
+
583
+ @property
584
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
585
+ """Additional arguments to the method"""
586
+
587
+ def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
588
+ ...
589
+
590
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
591
+ ...
592
+
593
+ def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
594
+ ...
595
+ global___GetGeometriesRequest = GetGeometriesRequest
596
+
597
+ @typing.final
598
+ class GetGeometriesResponse(google.protobuf.message.Message):
599
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
600
+ GEOMETRIES_FIELD_NUMBER: builtins.int
601
+
602
+ @property
603
+ def geometries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Geometry]:
604
+ """All geometries associated with the component, in their current configuration, in the frame of that component."""
605
+
606
+ def __init__(self, *, geometries: collections.abc.Iterable[global___Geometry] | None=...) -> None:
607
+ ...
608
+
609
+ def ClearField(self, field_name: typing.Literal['geometries', b'geometries']) -> None:
610
+ ...
611
+ global___GetGeometriesResponse = GetGeometriesResponse
612
+
613
+ @typing.final
614
+ class Get3DModelsRequest(google.protobuf.message.Message):
615
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
616
+ NAME_FIELD_NUMBER: builtins.int
617
+ EXTRA_FIELD_NUMBER: builtins.int
618
+ name: builtins.str
619
+ 'The component name'
620
+
621
+ @property
622
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
623
+ """Additional arguments to the method"""
624
+
625
+ def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
626
+ ...
627
+
628
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
629
+ ...
630
+
631
+ def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
632
+ ...
633
+ global___Get3DModelsRequest = Get3DModelsRequest
634
+
635
+ @typing.final
636
+ class Get3DModelsResponse(google.protobuf.message.Message):
637
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
638
+
639
+ @typing.final
640
+ class ModelsEntry(google.protobuf.message.Message):
641
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
642
+ KEY_FIELD_NUMBER: builtins.int
643
+ VALUE_FIELD_NUMBER: builtins.int
644
+ key: builtins.str
645
+
646
+ @property
647
+ def value(self) -> global___Mesh:
648
+ ...
649
+
650
+ def __init__(self, *, key: builtins.str=..., value: global___Mesh | None=...) -> None:
651
+ ...
652
+
653
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
654
+ ...
655
+
656
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
657
+ ...
658
+ MODELS_FIELD_NUMBER: builtins.int
659
+
660
+ @property
661
+ def models(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___Mesh]:
662
+ """the 3D models associated with the component"""
663
+
664
+ def __init__(self, *, models: collections.abc.Mapping[builtins.str, global___Mesh] | None=...) -> None:
665
+ ...
666
+
667
+ def ClearField(self, field_name: typing.Literal['models', b'models']) -> None:
668
+ ...
669
+ global___Get3DModelsResponse = Get3DModelsResponse
670
+
671
+ @typing.final
672
+ class GetReadingsRequest(google.protobuf.message.Message):
673
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
674
+ NAME_FIELD_NUMBER: builtins.int
675
+ EXTRA_FIELD_NUMBER: builtins.int
676
+ name: builtins.str
677
+ 'Name of a sensor'
678
+
679
+ @property
680
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
681
+ """Additional arguments to the method"""
682
+
683
+ def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
684
+ ...
685
+
686
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
687
+ ...
688
+
689
+ def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
690
+ ...
691
+ global___GetReadingsRequest = GetReadingsRequest
692
+
693
+ @typing.final
694
+ class GetReadingsResponse(google.protobuf.message.Message):
695
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
696
+
697
+ @typing.final
698
+ class ReadingsEntry(google.protobuf.message.Message):
699
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
700
+ KEY_FIELD_NUMBER: builtins.int
701
+ VALUE_FIELD_NUMBER: builtins.int
702
+ key: builtins.str
703
+
704
+ @property
705
+ def value(self) -> google.protobuf.struct_pb2.Value:
706
+ ...
707
+
708
+ def __init__(self, *, key: builtins.str=..., value: google.protobuf.struct_pb2.Value | None=...) -> None:
709
+ ...
710
+
711
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
712
+ ...
713
+
714
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
715
+ ...
716
+ READINGS_FIELD_NUMBER: builtins.int
717
+
718
+ @property
719
+ def readings(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.struct_pb2.Value]:
720
+ ...
721
+
722
+ def __init__(self, *, readings: collections.abc.Mapping[builtins.str, google.protobuf.struct_pb2.Value] | None=...) -> None:
723
+ ...
724
+
725
+ def ClearField(self, field_name: typing.Literal['readings', b'readings']) -> None:
726
+ ...
727
+ global___GetReadingsResponse = GetReadingsResponse
728
+
729
+ @typing.final
730
+ class LogEntry(google.protobuf.message.Message):
731
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
732
+ HOST_FIELD_NUMBER: builtins.int
733
+ LEVEL_FIELD_NUMBER: builtins.int
734
+ TIME_FIELD_NUMBER: builtins.int
735
+ LOGGER_NAME_FIELD_NUMBER: builtins.int
736
+ MESSAGE_FIELD_NUMBER: builtins.int
737
+ CALLER_FIELD_NUMBER: builtins.int
738
+ STACK_FIELD_NUMBER: builtins.int
739
+ FIELDS_FIELD_NUMBER: builtins.int
740
+ host: builtins.str
741
+ level: builtins.str
742
+ logger_name: builtins.str
743
+ message: builtins.str
744
+ stack: builtins.str
745
+
746
+ @property
747
+ def time(self) -> google.protobuf.timestamp_pb2.Timestamp:
748
+ ...
749
+
750
+ @property
751
+ def caller(self) -> google.protobuf.struct_pb2.Struct:
752
+ ...
753
+
754
+ @property
755
+ def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]:
756
+ ...
757
+
758
+ def __init__(self, *, host: builtins.str=..., level: builtins.str=..., time: google.protobuf.timestamp_pb2.Timestamp | None=..., logger_name: builtins.str=..., message: builtins.str=..., caller: google.protobuf.struct_pb2.Struct | None=..., stack: builtins.str=..., fields: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None=...) -> None:
759
+ ...
760
+
761
+ def HasField(self, field_name: typing.Literal['caller', b'caller', 'time', b'time']) -> builtins.bool:
762
+ ...
763
+
764
+ def ClearField(self, field_name: typing.Literal['caller', b'caller', 'fields', b'fields', 'host', b'host', 'level', b'level', 'logger_name', b'logger_name', 'message', b'message', 'stack', b'stack', 'time', b'time']) -> None:
765
+ ...
766
+ global___LogEntry = LogEntry
767
+
768
+ @typing.final
769
+ class AudioInfo(google.protobuf.message.Message):
770
+ """Information about an audio stream or device."""
771
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
772
+ CODEC_FIELD_NUMBER: builtins.int
773
+ SAMPLE_RATE_HZ_FIELD_NUMBER: builtins.int
774
+ NUM_CHANNELS_FIELD_NUMBER: builtins.int
775
+ codec: builtins.str
776
+ 'Audio codec used for the stream or device (e.g., "pcm16", "pcm32float", "mp3")'
777
+ sample_rate_hz: builtins.int
778
+ 'Sample rate of the audio in Hz'
779
+ num_channels: builtins.int
780
+ 'Number of audio channels in the recording or playback'
781
+
782
+ def __init__(self, *, codec: builtins.str=..., sample_rate_hz: builtins.int=..., num_channels: builtins.int=...) -> None:
783
+ ...
784
+
785
+ def ClearField(self, field_name: typing.Literal['codec', b'codec', 'num_channels', b'num_channels', 'sample_rate_hz', b'sample_rate_hz']) -> None:
786
+ ...
787
+ global___AudioInfo = AudioInfo
788
+
789
+ @typing.final
790
+ class GetPropertiesRequest(google.protobuf.message.Message):
791
+ """Shared properties for AudioIn and AudioOut components."""
792
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
793
+ NAME_FIELD_NUMBER: builtins.int
794
+ EXTRA_FIELD_NUMBER: builtins.int
795
+ name: builtins.str
796
+
797
+ @property
798
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
799
+ ...
800
+
801
+ def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
802
+ ...
803
+
804
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
805
+ ...
806
+
807
+ def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
808
+ ...
809
+ global___GetPropertiesRequest = GetPropertiesRequest
810
+
811
+ @typing.final
812
+ class GetPropertiesResponse(google.protobuf.message.Message):
813
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
814
+ SUPPORTED_CODECS_FIELD_NUMBER: builtins.int
815
+ SAMPLE_RATE_HZ_FIELD_NUMBER: builtins.int
816
+ NUM_CHANNELS_FIELD_NUMBER: builtins.int
817
+ sample_rate_hz: builtins.int
818
+ 'current sample rate in Hz'
819
+ num_channels: builtins.int
820
+ 'Maximum number of audio channels supported (e.g., 1 for mono, 2 for stereo)'
821
+
822
+ @property
823
+ def supported_codecs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
824
+ """List of audio codecs supported by the system (e.g., "mp3", "pcm16", "pcm32float")"""
825
+
826
+ def __init__(self, *, supported_codecs: collections.abc.Iterable[builtins.str] | None=..., sample_rate_hz: builtins.int=..., num_channels: builtins.int=...) -> None:
827
+ ...
828
+
829
+ def ClearField(self, field_name: typing.Literal['num_channels', b'num_channels', 'sample_rate_hz', b'sample_rate_hz', 'supported_codecs', b'supported_codecs']) -> None:
830
+ ...
831
+ global___GetPropertiesResponse = GetPropertiesResponse
525
832
  SAFETY_HEARTBEAT_MONITORED_FIELD_NUMBER: builtins.int
526
833
  safety_heartbeat_monitored: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.MethodOptions, builtins.bool]
527
834
  'safety_heartbeat_monitored is used on methods to signify that if a session is in use\nand the session was the last to call this method, the resource associated with the\nmethod will be stopped.\n'