wandelbots-api-client 25.10.0.dev35__py3-none-any.whl → 26.1.0.dev50__py3-none-any.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.
Files changed (636) hide show
  1. wandelbots_api_client/__init__.py +2 -3
  2. wandelbots_api_client/api/__init__.py +2 -0
  3. wandelbots_api_client/api/application_api.py +1 -2
  4. wandelbots_api_client/api/cell_api.py +1 -2
  5. wandelbots_api_client/api/controller_api.py +1 -2
  6. wandelbots_api_client/api/controller_ios_api.py +1 -2
  7. wandelbots_api_client/api/coordinate_systems_api.py +1 -2
  8. wandelbots_api_client/api/device_configuration_api.py +1 -2
  9. wandelbots_api_client/api/library_program_api.py +1 -2
  10. wandelbots_api_client/api/library_program_metadata_api.py +1 -2
  11. wandelbots_api_client/api/library_recipe_api.py +1 -2
  12. wandelbots_api_client/api/library_recipe_metadata_api.py +1 -2
  13. wandelbots_api_client/api/license_api.py +1 -2
  14. wandelbots_api_client/api/motion_api.py +4 -5
  15. wandelbots_api_client/api/motion_group_api.py +1 -2
  16. wandelbots_api_client/api/motion_group_infos_api.py +1 -2
  17. wandelbots_api_client/api/motion_group_jogging_api.py +1 -2
  18. wandelbots_api_client/api/motion_group_kinematic_api.py +1 -2
  19. wandelbots_api_client/api/program_api.py +1 -2
  20. wandelbots_api_client/api/program_operator_api.py +1 -2
  21. wandelbots_api_client/api/program_values_api.py +1 -2
  22. wandelbots_api_client/api/store_collision_components_api.py +1 -2
  23. wandelbots_api_client/api/store_collision_scenes_api.py +1 -2
  24. wandelbots_api_client/api/store_object_api.py +1 -2
  25. wandelbots_api_client/api/system_api.py +1 -2
  26. wandelbots_api_client/api/version_api.py +284 -0
  27. wandelbots_api_client/api/virtual_robot_api.py +1 -2
  28. wandelbots_api_client/api/virtual_robot_behavior_api.py +1 -2
  29. wandelbots_api_client/api/virtual_robot_mode_api.py +1 -2
  30. wandelbots_api_client/api/virtual_robot_setup_api.py +1 -2
  31. wandelbots_api_client/api_client.py +14 -7
  32. wandelbots_api_client/configuration.py +18 -7
  33. wandelbots_api_client/exceptions.py +1 -1
  34. wandelbots_api_client/models/__init__.py +3 -4
  35. wandelbots_api_client/models/abb_controller.py +1 -1
  36. wandelbots_api_client/models/abb_controller_egm_server.py +1 -1
  37. wandelbots_api_client/models/activate_license_request.py +1 -1
  38. wandelbots_api_client/models/add_request.py +1 -1
  39. wandelbots_api_client/models/all_joint_positions_request.py +1 -1
  40. wandelbots_api_client/models/all_joint_positions_response.py +1 -1
  41. wandelbots_api_client/models/api_version.py +91 -0
  42. wandelbots_api_client/models/app.py +1 -1
  43. wandelbots_api_client/models/array_input.py +1 -1
  44. wandelbots_api_client/models/array_output.py +1 -1
  45. wandelbots_api_client/models/behavior.py +1 -1
  46. wandelbots_api_client/models/blending_auto.py +1 -1
  47. wandelbots_api_client/models/blending_position.py +1 -1
  48. wandelbots_api_client/models/box.py +1 -1
  49. wandelbots_api_client/models/box2.py +1 -1
  50. wandelbots_api_client/models/box3.py +1 -1
  51. wandelbots_api_client/models/capsule.py +1 -1
  52. wandelbots_api_client/models/capsule2.py +1 -1
  53. wandelbots_api_client/models/capsule3.py +1 -1
  54. wandelbots_api_client/models/capture.py +1 -1
  55. wandelbots_api_client/models/cell.py +1 -1
  56. wandelbots_api_client/models/circle.py +1 -1
  57. wandelbots_api_client/models/code_with_arguments.py +5 -4
  58. wandelbots_api_client/models/collection_value.py +1 -1
  59. wandelbots_api_client/models/collider.py +1 -1
  60. wandelbots_api_client/models/collider_input.py +1 -1
  61. wandelbots_api_client/models/collider_output.py +1 -1
  62. wandelbots_api_client/models/collider_output_shape.py +1 -1
  63. wandelbots_api_client/models/collider_shape.py +1 -41
  64. wandelbots_api_client/models/collision.py +1 -1
  65. wandelbots_api_client/models/collision_contact.py +1 -1
  66. wandelbots_api_client/models/collision_motion_group.py +5 -4
  67. wandelbots_api_client/models/collision_motion_group_assembly.py +5 -4
  68. wandelbots_api_client/models/collision_robot_configuration_input.py +9 -7
  69. wandelbots_api_client/models/collision_robot_configuration_output.py +9 -7
  70. wandelbots_api_client/models/collision_scene.py +9 -7
  71. wandelbots_api_client/models/collision_scene_assembly.py +9 -7
  72. wandelbots_api_client/models/command.py +1 -1
  73. wandelbots_api_client/models/command_settings.py +1 -1
  74. wandelbots_api_client/models/comparator.py +1 -1
  75. wandelbots_api_client/models/compound.py +1 -1
  76. wandelbots_api_client/models/container_environment_inner.py +1 -1
  77. wandelbots_api_client/models/container_image.py +1 -1
  78. wandelbots_api_client/models/container_image_secrets_inner.py +1 -1
  79. wandelbots_api_client/models/container_resources.py +1 -1
  80. wandelbots_api_client/models/container_storage.py +1 -1
  81. wandelbots_api_client/models/controller_capabilities.py +1 -1
  82. wandelbots_api_client/models/controller_instance.py +1 -1
  83. wandelbots_api_client/models/controller_instance_list.py +1 -1
  84. wandelbots_api_client/models/convex_hull.py +1 -1
  85. wandelbots_api_client/models/convex_hull2.py +1 -1
  86. wandelbots_api_client/models/convex_hull3.py +1 -1
  87. wandelbots_api_client/models/coordinate_system.py +1 -1
  88. wandelbots_api_client/models/coordinate_systems.py +1 -1
  89. wandelbots_api_client/models/create_device_request_inner.py +1 -1
  90. wandelbots_api_client/models/create_program_run200_response.py +1 -1
  91. wandelbots_api_client/models/create_program_run_request.py +1 -1
  92. wandelbots_api_client/models/create_trigger200_response.py +1 -1
  93. wandelbots_api_client/models/create_trigger_request.py +4 -4
  94. wandelbots_api_client/models/cubic_spline.py +1 -1
  95. wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +1 -1
  96. wandelbots_api_client/models/cubic_spline_parameter.py +1 -1
  97. wandelbots_api_client/models/cycle_time.py +1 -1
  98. wandelbots_api_client/models/cylinder.py +1 -1
  99. wandelbots_api_client/models/cylinder2.py +1 -1
  100. wandelbots_api_client/models/cylinder3.py +1 -1
  101. wandelbots_api_client/models/dh_parameter.py +1 -1
  102. wandelbots_api_client/models/direction.py +1 -1
  103. wandelbots_api_client/models/direction_jogging_request.py +1 -1
  104. wandelbots_api_client/models/error.py +1 -1
  105. wandelbots_api_client/models/execute_trajectory_request.py +1 -1
  106. wandelbots_api_client/models/execute_trajectory_response.py +1 -1
  107. wandelbots_api_client/models/execution_result.py +1 -1
  108. wandelbots_api_client/models/external_joint_stream_datapoint.py +1 -1
  109. wandelbots_api_client/models/external_joint_stream_datapoint_value.py +1 -1
  110. wandelbots_api_client/models/fanuc_controller.py +1 -1
  111. wandelbots_api_client/models/feedback_collision.py +1 -1
  112. wandelbots_api_client/models/feedback_joint_limit_exceeded.py +1 -1
  113. wandelbots_api_client/models/feedback_out_of_workspace.py +1 -1
  114. wandelbots_api_client/models/feedback_singularity.py +1 -1
  115. wandelbots_api_client/models/flag.py +1 -1
  116. wandelbots_api_client/models/force_vector.py +1 -1
  117. wandelbots_api_client/models/geometry.py +1 -1
  118. wandelbots_api_client/models/get_all_program_runs200_response.py +1 -1
  119. wandelbots_api_client/models/get_all_triggers200_response.py +1 -1
  120. wandelbots_api_client/models/get_mode_response.py +1 -1
  121. wandelbots_api_client/models/get_trajectory_response.py +1 -1
  122. wandelbots_api_client/models/get_trajectory_sample_response.py +1 -1
  123. wandelbots_api_client/models/google_protobuf_any.py +1 -1
  124. wandelbots_api_client/models/http_exception_response.py +1 -1
  125. wandelbots_api_client/models/http_validation_error.py +1 -1
  126. wandelbots_api_client/models/http_validation_error2.py +1 -1
  127. wandelbots_api_client/models/image_credentials.py +1 -1
  128. wandelbots_api_client/models/info_service_capabilities.py +1 -1
  129. wandelbots_api_client/models/initialize_movement_request.py +1 -1
  130. wandelbots_api_client/models/initialize_movement_response.py +1 -1
  131. wandelbots_api_client/models/initialize_movement_response_init_response.py +1 -1
  132. wandelbots_api_client/models/io.py +1 -1
  133. wandelbots_api_client/models/io_description.py +1 -1
  134. wandelbots_api_client/models/io_value.py +1 -1
  135. wandelbots_api_client/models/ios.py +1 -1
  136. wandelbots_api_client/models/jogging_response.py +1 -1
  137. wandelbots_api_client/models/jogging_service_capabilities.py +1 -1
  138. wandelbots_api_client/models/joint_jogging_request.py +1 -1
  139. wandelbots_api_client/models/joint_limit.py +1 -1
  140. wandelbots_api_client/models/joint_limit_exceeded.py +1 -1
  141. wandelbots_api_client/models/joint_position_request.py +1 -1
  142. wandelbots_api_client/models/joint_trajectory.py +1 -1
  143. wandelbots_api_client/models/joints.py +1 -1
  144. wandelbots_api_client/models/kinematic_service_capabilities.py +1 -1
  145. wandelbots_api_client/models/kuka_controller.py +1 -1
  146. wandelbots_api_client/models/kuka_controller_rsi_server.py +1 -1
  147. wandelbots_api_client/models/license.py +1 -1
  148. wandelbots_api_client/models/license_status.py +1 -1
  149. wandelbots_api_client/models/license_status_enum.py +1 -1
  150. wandelbots_api_client/models/limit_settings.py +1 -1
  151. wandelbots_api_client/models/limits_override.py +1 -1
  152. wandelbots_api_client/models/list_devices200_response_inner.py +1 -1
  153. wandelbots_api_client/models/list_io_descriptions_response.py +1 -1
  154. wandelbots_api_client/models/list_io_values_response.py +1 -1
  155. wandelbots_api_client/models/list_payloads_response.py +1 -1
  156. wandelbots_api_client/models/list_program_metadata_response.py +1 -1
  157. wandelbots_api_client/models/list_recipe_metadata_response.py +1 -1
  158. wandelbots_api_client/models/list_response.py +1 -1
  159. wandelbots_api_client/models/list_tcps_response.py +1 -1
  160. wandelbots_api_client/models/manufacturer.py +1 -1
  161. wandelbots_api_client/models/mode_change_response.py +1 -1
  162. wandelbots_api_client/models/motion_command.py +1 -1
  163. wandelbots_api_client/models/motion_command_blending.py +1 -1
  164. wandelbots_api_client/models/motion_command_path.py +1 -1
  165. wandelbots_api_client/models/motion_group_behavior_getter.py +1 -1
  166. wandelbots_api_client/models/motion_group_info.py +1 -1
  167. wandelbots_api_client/models/motion_group_infos.py +1 -1
  168. wandelbots_api_client/models/motion_group_instance.py +1 -1
  169. wandelbots_api_client/models/motion_group_instance_list.py +1 -1
  170. wandelbots_api_client/models/motion_group_joints.py +1 -1
  171. wandelbots_api_client/models/motion_group_physical.py +1 -1
  172. wandelbots_api_client/models/motion_group_specification.py +1 -1
  173. wandelbots_api_client/models/motion_group_state.py +1 -1
  174. wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +1 -1
  175. wandelbots_api_client/models/motion_group_state_response.py +1 -1
  176. wandelbots_api_client/models/motion_id.py +1 -1
  177. wandelbots_api_client/models/motion_ids_list_response.py +1 -1
  178. wandelbots_api_client/models/motion_vector.py +1 -1
  179. wandelbots_api_client/models/mounting.py +1 -1
  180. wandelbots_api_client/models/move_request.py +1 -1
  181. wandelbots_api_client/models/move_response.py +1 -1
  182. wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +1 -1
  183. wandelbots_api_client/models/movement.py +1 -1
  184. wandelbots_api_client/models/movement_error.py +1 -1
  185. wandelbots_api_client/models/movement_error_error.py +1 -1
  186. wandelbots_api_client/models/movement_movement.py +1 -1
  187. wandelbots_api_client/models/op_mode.py +1 -1
  188. wandelbots_api_client/models/opcua_node_value_trigger_config.py +1 -1
  189. wandelbots_api_client/models/opcua_node_value_trigger_config_node_value.py +1 -1
  190. wandelbots_api_client/models/optimizer_setup.py +1 -1
  191. wandelbots_api_client/models/out_of_workspace.py +1 -1
  192. wandelbots_api_client/models/path.py +1 -1
  193. wandelbots_api_client/models/path_cartesian_ptp.py +1 -1
  194. wandelbots_api_client/models/path_circle.py +1 -1
  195. wandelbots_api_client/models/path_cubic_spline.py +1 -1
  196. wandelbots_api_client/models/path_joint_ptp.py +1 -1
  197. wandelbots_api_client/models/path_line.py +1 -1
  198. wandelbots_api_client/models/pause_movement_request.py +1 -1
  199. wandelbots_api_client/models/pause_movement_response.py +1 -1
  200. wandelbots_api_client/models/pause_movement_response_pause_response.py +1 -1
  201. wandelbots_api_client/models/pause_on_io.py +1 -1
  202. wandelbots_api_client/models/payload.py +1 -1
  203. wandelbots_api_client/models/plan_collision_free_ptp_request.py +5 -4
  204. wandelbots_api_client/models/plan_collision_free_ptp_request_target.py +1 -1
  205. wandelbots_api_client/models/plan_failed_on_trajectory_response.py +1 -1
  206. wandelbots_api_client/models/plan_failed_response.py +1 -1
  207. wandelbots_api_client/models/plan_request.py +1 -1
  208. wandelbots_api_client/models/plan_response.py +1 -1
  209. wandelbots_api_client/models/plan_successful_response.py +1 -1
  210. wandelbots_api_client/models/plan_trajectory_failed_response.py +1 -1
  211. wandelbots_api_client/models/plan_trajectory_failed_response_error_feedback.py +1 -1
  212. wandelbots_api_client/models/plan_trajectory_request.py +5 -4
  213. wandelbots_api_client/models/plan_trajectory_response.py +1 -1
  214. wandelbots_api_client/models/plan_trajectory_response_response.py +1 -1
  215. wandelbots_api_client/models/plane2.py +1 -1
  216. wandelbots_api_client/models/plane3.py +1 -1
  217. wandelbots_api_client/models/planned_motion.py +1 -1
  218. wandelbots_api_client/models/planner_pose.py +1 -1
  219. wandelbots_api_client/models/planning_limits.py +1 -1
  220. wandelbots_api_client/models/planning_limits_limit_range.py +1 -1
  221. wandelbots_api_client/models/playback_speed_request.py +1 -1
  222. wandelbots_api_client/models/playback_speed_response.py +1 -1
  223. wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +1 -1
  224. wandelbots_api_client/models/point_cloud.py +1 -1
  225. wandelbots_api_client/models/pose.py +1 -1
  226. wandelbots_api_client/models/pose2.py +1 -1
  227. wandelbots_api_client/models/program_metadata.py +1 -1
  228. wandelbots_api_client/models/program_run.py +5 -4
  229. wandelbots_api_client/models/program_run_object.py +1 -1
  230. wandelbots_api_client/models/program_run_state.py +1 -1
  231. wandelbots_api_client/models/program_runner_reference.py +1 -1
  232. wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +1 -1
  233. wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +1 -1
  234. wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +1 -1
  235. wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +1 -1
  236. wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +1 -1
  237. wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +1 -1
  238. wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +1 -1
  239. wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +1 -1
  240. wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +1 -1
  241. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +9 -7
  242. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +9 -7
  243. wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +1 -1
  244. wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +1 -1
  245. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +1 -1
  246. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +1 -1
  247. wandelbots_api_client/models/quaternion.py +1 -1
  248. wandelbots_api_client/models/recipe_metadata.py +1 -1
  249. wandelbots_api_client/models/rectangle.py +1 -1
  250. wandelbots_api_client/models/rectangle2.py +1 -1
  251. wandelbots_api_client/models/rectangle3.py +1 -1
  252. wandelbots_api_client/models/rectangular_capsule.py +1 -1
  253. wandelbots_api_client/models/rectangular_capsule2.py +1 -1
  254. wandelbots_api_client/models/rectangular_capsule3.py +1 -1
  255. wandelbots_api_client/models/release_channel.py +1 -1
  256. wandelbots_api_client/models/request.py +1 -1
  257. wandelbots_api_client/models/request1.py +1 -1
  258. wandelbots_api_client/models/response_get_value_programs_values_key_get.py +1 -1
  259. wandelbots_api_client/models/response_get_values_programs_values_get_value.py +1 -1
  260. wandelbots_api_client/models/robot_controller.py +1 -1
  261. wandelbots_api_client/models/robot_controller_configuration.py +1 -1
  262. wandelbots_api_client/models/robot_controller_state.py +1 -1
  263. wandelbots_api_client/models/robot_link_geometry.py +1 -1
  264. wandelbots_api_client/models/robot_state.py +1 -1
  265. wandelbots_api_client/models/robot_system_mode.py +1 -1
  266. wandelbots_api_client/models/robot_tcp.py +1 -1
  267. wandelbots_api_client/models/robot_tcps.py +1 -1
  268. wandelbots_api_client/models/rotation_angle_types.py +1 -1
  269. wandelbots_api_client/models/rotation_angles.py +1 -1
  270. wandelbots_api_client/models/safety_configuration.py +1 -1
  271. wandelbots_api_client/models/safety_setup.py +1 -1
  272. wandelbots_api_client/models/safety_setup_safety_settings.py +1 -1
  273. wandelbots_api_client/models/safety_setup_safety_zone.py +1 -1
  274. wandelbots_api_client/models/safety_zone.py +1 -1
  275. wandelbots_api_client/models/safety_zone_limits.py +1 -1
  276. wandelbots_api_client/models/safety_zone_violation.py +1 -1
  277. wandelbots_api_client/models/service_status.py +1 -1
  278. wandelbots_api_client/models/service_status_phase.py +1 -1
  279. wandelbots_api_client/models/service_status_severity.py +1 -1
  280. wandelbots_api_client/models/service_status_status.py +1 -1
  281. wandelbots_api_client/models/set_io.py +1 -1
  282. wandelbots_api_client/models/set_playback_speed.py +1 -1
  283. wandelbots_api_client/models/single_joint_limit.py +1 -1
  284. wandelbots_api_client/models/singularity.py +1 -1
  285. wandelbots_api_client/models/singularity_type_enum.py +1 -1
  286. wandelbots_api_client/models/sphere.py +1 -1
  287. wandelbots_api_client/models/sphere2.py +1 -1
  288. wandelbots_api_client/models/sphere3.py +1 -1
  289. wandelbots_api_client/models/standstill.py +1 -1
  290. wandelbots_api_client/models/standstill_reason.py +1 -1
  291. wandelbots_api_client/models/standstill_standstill.py +1 -1
  292. wandelbots_api_client/models/start_movement_request.py +1 -1
  293. wandelbots_api_client/models/start_on_io.py +1 -1
  294. wandelbots_api_client/models/status.py +1 -1
  295. wandelbots_api_client/models/stop_response.py +1 -1
  296. wandelbots_api_client/models/store_value.py +1 -1
  297. wandelbots_api_client/models/stream_move_backward.py +1 -1
  298. wandelbots_api_client/models/stream_move_forward.py +1 -1
  299. wandelbots_api_client/models/stream_move_playback_speed.py +1 -1
  300. wandelbots_api_client/models/stream_move_request.py +1 -1
  301. wandelbots_api_client/models/stream_move_response.py +1 -1
  302. wandelbots_api_client/models/stream_move_to_trajectory.py +1 -1
  303. wandelbots_api_client/models/stream_stop.py +1 -1
  304. wandelbots_api_client/models/tcp_pose.py +1 -1
  305. wandelbots_api_client/models/tcp_pose_request.py +1 -1
  306. wandelbots_api_client/models/tool_geometry.py +1 -1
  307. wandelbots_api_client/models/trajectory_sample.py +1 -1
  308. wandelbots_api_client/models/trigger_object.py +4 -4
  309. wandelbots_api_client/models/trigger_type.py +1 -1
  310. wandelbots_api_client/models/universalrobots_controller.py +1 -1
  311. wandelbots_api_client/models/update_nova_version_request.py +1 -1
  312. wandelbots_api_client/models/update_program_metadata_request.py +1 -1
  313. wandelbots_api_client/models/update_recipe_metadata_request.py +1 -1
  314. wandelbots_api_client/models/update_trigger_request.py +4 -4
  315. wandelbots_api_client/models/validation_error.py +1 -1
  316. wandelbots_api_client/models/validation_error2.py +1 -1
  317. wandelbots_api_client/models/validation_error2_loc_inner.py +1 -1
  318. wandelbots_api_client/models/validation_error_loc_inner.py +1 -1
  319. wandelbots_api_client/models/value.py +1 -1
  320. wandelbots_api_client/models/vector3d.py +1 -1
  321. wandelbots_api_client/models/version_number.py +1 -1
  322. wandelbots_api_client/models/virtual_controller.py +1 -1
  323. wandelbots_api_client/models/virtual_controller_types.py +8 -1
  324. wandelbots_api_client/models/virtual_robot_configuration.py +1 -1
  325. wandelbots_api_client/models/yaskawa_controller.py +1 -1
  326. wandelbots_api_client/rest.py +3 -2
  327. wandelbots_api_client/v2/__init__.py +3 -4
  328. wandelbots_api_client/v2/api/__init__.py +2 -0
  329. wandelbots_api_client/v2/api/application_api.py +2 -3
  330. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +581 -3
  331. wandelbots_api_client/v2/api/cell_api.py +2 -3
  332. wandelbots_api_client/v2/api/controller_api.py +5 -6
  333. wandelbots_api_client/v2/api/controller_inputs_outputs_api.py +2 -3
  334. wandelbots_api_client/v2/api/jogging_api.py +3 -4
  335. wandelbots_api_client/v2/api/kinematics_api.py +2 -3
  336. wandelbots_api_client/v2/api/license_api.py +2 -3
  337. wandelbots_api_client/v2/api/motion_group_api.py +4 -5
  338. wandelbots_api_client/v2/api/motion_group_models_api.py +532 -5
  339. wandelbots_api_client/v2/api/program_api.py +14 -15
  340. wandelbots_api_client/v2/api/store_collision_components_api.py +2 -3
  341. wandelbots_api_client/v2/api/store_collision_setups_api.py +2 -3
  342. wandelbots_api_client/v2/api/store_object_api.py +2 -3
  343. wandelbots_api_client/v2/api/system_api.py +6 -6
  344. wandelbots_api_client/v2/api/trajectory_caching_api.py +2 -3
  345. wandelbots_api_client/v2/api/trajectory_execution_api.py +3 -4
  346. wandelbots_api_client/v2/api/trajectory_planning_api.py +2 -3
  347. wandelbots_api_client/v2/api/version_api.py +284 -0
  348. wandelbots_api_client/v2/api/virtual_controller_api.py +2 -3
  349. wandelbots_api_client/v2/api/virtual_controller_behavior_api.py +2 -3
  350. wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py +2 -3
  351. wandelbots_api_client/v2/api_client.py +15 -8
  352. wandelbots_api_client/v2/configuration.py +19 -8
  353. wandelbots_api_client/v2/exceptions.py +2 -2
  354. wandelbots_api_client/v2/models/__init__.py +6 -3
  355. wandelbots_api_client/v2/models/abb_controller.py +2 -2
  356. wandelbots_api_client/v2/models/abb_controller_egm_server.py +2 -2
  357. wandelbots_api_client/v2/models/activate_license_request.py +2 -2
  358. wandelbots_api_client/v2/models/add_trajectory_error.py +2 -2
  359. wandelbots_api_client/v2/models/add_trajectory_error_data.py +2 -2
  360. wandelbots_api_client/v2/models/add_trajectory_request.py +2 -2
  361. wandelbots_api_client/v2/models/add_trajectory_response.py +2 -2
  362. wandelbots_api_client/v2/models/api_version.py +91 -0
  363. wandelbots_api_client/v2/models/app.py +2 -2
  364. wandelbots_api_client/v2/models/behavior.py +2 -2
  365. wandelbots_api_client/v2/models/blending_auto.py +5 -4
  366. wandelbots_api_client/v2/models/blending_position.py +17 -3
  367. wandelbots_api_client/v2/models/blending_space.py +37 -0
  368. wandelbots_api_client/v2/models/boolean_value.py +2 -2
  369. wandelbots_api_client/v2/models/box.py +2 -2
  370. wandelbots_api_client/v2/models/bus_io_description.py +2 -2
  371. wandelbots_api_client/v2/models/bus_io_modbus_client.py +2 -2
  372. wandelbots_api_client/v2/models/bus_io_modbus_server.py +2 -2
  373. wandelbots_api_client/v2/models/bus_io_modbus_tcp_client.py +2 -2
  374. wandelbots_api_client/v2/models/bus_io_modbus_tcp_server.py +2 -2
  375. wandelbots_api_client/v2/models/bus_io_modbus_virtual.py +2 -2
  376. wandelbots_api_client/v2/models/bus_io_profinet.py +2 -2
  377. wandelbots_api_client/v2/models/bus_io_profinet_default_route.py +2 -2
  378. wandelbots_api_client/v2/models/bus_io_profinet_ip_config.py +2 -2
  379. wandelbots_api_client/v2/models/bus_io_profinet_network.py +2 -2
  380. wandelbots_api_client/v2/models/bus_io_profinet_virtual.py +2 -2
  381. wandelbots_api_client/v2/models/bus_io_type.py +2 -27
  382. wandelbots_api_client/v2/models/bus_ios_state.py +2 -2
  383. wandelbots_api_client/v2/models/bus_ios_state_enum.py +2 -2
  384. wandelbots_api_client/v2/models/capsule.py +2 -2
  385. wandelbots_api_client/v2/models/cartesian_limits.py +2 -2
  386. wandelbots_api_client/v2/models/cell.py +2 -2
  387. wandelbots_api_client/v2/models/collider.py +2 -2
  388. wandelbots_api_client/v2/models/collider_shape.py +2 -42
  389. wandelbots_api_client/v2/models/collision.py +2 -2
  390. wandelbots_api_client/v2/models/collision_contact.py +2 -2
  391. wandelbots_api_client/v2/models/collision_error.py +2 -2
  392. wandelbots_api_client/v2/models/collision_free_algorithm.py +3 -3
  393. wandelbots_api_client/v2/models/collision_setup.py +10 -8
  394. wandelbots_api_client/v2/models/comparator.py +2 -2
  395. wandelbots_api_client/v2/models/configuration_archive_status.py +2 -17
  396. wandelbots_api_client/v2/models/configuration_archive_status_creating.py +2 -2
  397. wandelbots_api_client/v2/models/configuration_archive_status_error.py +2 -2
  398. wandelbots_api_client/v2/models/configuration_archive_status_success.py +2 -2
  399. wandelbots_api_client/v2/models/configuration_resource.py +2 -2
  400. wandelbots_api_client/v2/models/container_environment_inner.py +2 -2
  401. wandelbots_api_client/v2/models/container_image.py +2 -2
  402. wandelbots_api_client/v2/models/container_image_secrets_inner.py +2 -2
  403. wandelbots_api_client/v2/models/container_resources.py +2 -2
  404. wandelbots_api_client/v2/models/container_storage.py +2 -2
  405. wandelbots_api_client/v2/models/controller_description.py +2 -2
  406. wandelbots_api_client/v2/models/convex_hull.py +2 -2
  407. wandelbots_api_client/v2/models/coordinate_system.py +2 -2
  408. wandelbots_api_client/v2/models/coordinate_system_data.py +2 -2
  409. wandelbots_api_client/v2/models/cubic_spline_parameter.py +2 -2
  410. wandelbots_api_client/v2/models/cycle_time.py +5 -4
  411. wandelbots_api_client/v2/models/cylinder.py +2 -2
  412. wandelbots_api_client/v2/models/dh_parameter.py +2 -2
  413. wandelbots_api_client/v2/models/direction.py +2 -2
  414. wandelbots_api_client/v2/models/error.py +2 -2
  415. wandelbots_api_client/v2/models/error_invalid_joint_count.py +2 -2
  416. wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +4 -3
  417. wandelbots_api_client/v2/models/error_joint_position_collision.py +2 -2
  418. wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +2 -2
  419. wandelbots_api_client/v2/models/execute.py +2 -2
  420. wandelbots_api_client/v2/models/execute_details.py +2 -12
  421. wandelbots_api_client/v2/models/execute_jogging_request.py +2 -2
  422. wandelbots_api_client/v2/models/execute_jogging_response.py +2 -27
  423. wandelbots_api_client/v2/models/execute_trajectory_request.py +2 -2
  424. wandelbots_api_client/v2/models/execute_trajectory_response.py +2 -27
  425. wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +2 -2
  426. wandelbots_api_client/v2/models/external_joint_stream_request.py +2 -2
  427. wandelbots_api_client/v2/models/fanuc_controller.py +2 -2
  428. wandelbots_api_client/v2/models/feedback_collision.py +2 -2
  429. wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +5 -4
  430. wandelbots_api_client/v2/models/feedback_out_of_workspace.py +2 -2
  431. wandelbots_api_client/v2/models/feedback_singularity.py +2 -2
  432. wandelbots_api_client/v2/models/flag.py +2 -2
  433. wandelbots_api_client/v2/models/float_value.py +2 -2
  434. wandelbots_api_client/v2/models/forward_kinematics422_response.py +2 -2
  435. wandelbots_api_client/v2/models/forward_kinematics_request.py +2 -2
  436. wandelbots_api_client/v2/models/forward_kinematics_response.py +2 -2
  437. wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +2 -2
  438. wandelbots_api_client/v2/models/get_trajectory_response.py +2 -2
  439. wandelbots_api_client/v2/models/http_validation_error.py +2 -2
  440. wandelbots_api_client/v2/models/image_credentials.py +2 -2
  441. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error.py +2 -2
  442. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error_inconsistent_trajectory_size.py +2 -2
  443. wandelbots_api_client/v2/models/initialize_jogging_request.py +2 -2
  444. wandelbots_api_client/v2/models/initialize_jogging_response.py +2 -2
  445. wandelbots_api_client/v2/models/initialize_movement_request.py +2 -2
  446. wandelbots_api_client/v2/models/initialize_movement_request_trajectory.py +2 -2
  447. wandelbots_api_client/v2/models/initialize_movement_response.py +2 -2
  448. wandelbots_api_client/v2/models/integer_value.py +2 -2
  449. wandelbots_api_client/v2/models/invalid_dof_error.py +2 -2
  450. wandelbots_api_client/v2/models/invalid_dof_error_invalid_dof.py +2 -2
  451. wandelbots_api_client/v2/models/inverse_kinematics422_response.py +2 -2
  452. wandelbots_api_client/v2/models/inverse_kinematics_request.py +6 -5
  453. wandelbots_api_client/v2/models/inverse_kinematics_response.py +2 -2
  454. wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +2 -2
  455. wandelbots_api_client/v2/models/inverse_kinematics_validation_error_all_of_data.py +2 -2
  456. wandelbots_api_client/v2/models/io_boolean_value.py +2 -2
  457. wandelbots_api_client/v2/models/io_boundary.py +2 -17
  458. wandelbots_api_client/v2/models/io_description.py +2 -2
  459. wandelbots_api_client/v2/models/io_direction.py +2 -2
  460. wandelbots_api_client/v2/models/io_float_value.py +2 -2
  461. wandelbots_api_client/v2/models/io_integer_value.py +2 -2
  462. wandelbots_api_client/v2/models/io_origin.py +2 -2
  463. wandelbots_api_client/v2/models/io_value.py +2 -17
  464. wandelbots_api_client/v2/models/io_value_type.py +2 -2
  465. wandelbots_api_client/v2/models/jogging_details.py +2 -2
  466. wandelbots_api_client/v2/models/jogging_details_state.py +2 -27
  467. wandelbots_api_client/v2/models/jogging_paused_by_user.py +2 -2
  468. wandelbots_api_client/v2/models/jogging_paused_near_collision.py +2 -2
  469. wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +5 -4
  470. wandelbots_api_client/v2/models/jogging_paused_on_io.py +2 -2
  471. wandelbots_api_client/v2/models/jogging_running.py +2 -2
  472. wandelbots_api_client/v2/models/joint_limit_exceeded_error.py +2 -2
  473. wandelbots_api_client/v2/models/joint_limits.py +2 -2
  474. wandelbots_api_client/v2/models/joint_trajectory.py +2 -2
  475. wandelbots_api_client/v2/models/joint_velocity_request.py +2 -2
  476. wandelbots_api_client/v2/models/joint_velocity_response.py +2 -2
  477. wandelbots_api_client/v2/models/kuka_controller.py +2 -2
  478. wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +2 -2
  479. wandelbots_api_client/v2/models/license.py +2 -2
  480. wandelbots_api_client/v2/models/license_status.py +2 -2
  481. wandelbots_api_client/v2/models/license_status_enum.py +2 -2
  482. wandelbots_api_client/v2/models/limit_range.py +2 -2
  483. wandelbots_api_client/v2/models/limit_set.py +2 -2
  484. wandelbots_api_client/v2/models/limits_override.py +2 -2
  485. wandelbots_api_client/v2/models/list_trajectories_response.py +2 -2
  486. wandelbots_api_client/v2/models/manufacturer.py +2 -2
  487. wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +2 -2
  488. wandelbots_api_client/v2/models/modbus_io.py +2 -2
  489. wandelbots_api_client/v2/models/modbus_io_area.py +2 -2
  490. wandelbots_api_client/v2/models/modbus_io_byte_order.py +2 -2
  491. wandelbots_api_client/v2/models/modbus_io_data.py +2 -2
  492. wandelbots_api_client/v2/models/modbus_io_type_enum.py +2 -2
  493. wandelbots_api_client/v2/models/motion_command.py +2 -2
  494. wandelbots_api_client/v2/models/motion_command_blending.py +2 -2
  495. wandelbots_api_client/v2/models/motion_command_path.py +2 -2
  496. wandelbots_api_client/v2/models/motion_group_description.py +25 -18
  497. wandelbots_api_client/v2/models/motion_group_info.py +5 -4
  498. wandelbots_api_client/v2/models/motion_group_joints.py +2 -2
  499. wandelbots_api_client/v2/models/motion_group_setup.py +9 -7
  500. wandelbots_api_client/v2/models/motion_group_state.py +4 -3
  501. wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +2 -2
  502. wandelbots_api_client/v2/models/movement_error_response.py +2 -2
  503. wandelbots_api_client/v2/models/nan_value_error.py +2 -2
  504. wandelbots_api_client/v2/models/nan_value_error_nan_value.py +2 -2
  505. wandelbots_api_client/v2/models/op_mode.py +2 -2
  506. wandelbots_api_client/v2/models/operating_state.py +2 -2
  507. wandelbots_api_client/v2/models/operation_limits.py +2 -2
  508. wandelbots_api_client/v2/models/operation_mode.py +2 -2
  509. wandelbots_api_client/v2/models/orientation_type.py +2 -2
  510. wandelbots_api_client/v2/models/path_cartesian_ptp.py +2 -2
  511. wandelbots_api_client/v2/models/path_circle.py +2 -2
  512. wandelbots_api_client/v2/models/path_cubic_spline.py +2 -2
  513. wandelbots_api_client/v2/models/path_joint_ptp.py +2 -2
  514. wandelbots_api_client/v2/models/path_line.py +2 -2
  515. wandelbots_api_client/v2/models/pause_jogging_request.py +2 -2
  516. wandelbots_api_client/v2/models/pause_jogging_response.py +2 -2
  517. wandelbots_api_client/v2/models/pause_movement_request.py +2 -2
  518. wandelbots_api_client/v2/models/pause_movement_response.py +2 -2
  519. wandelbots_api_client/v2/models/pause_on_io.py +2 -2
  520. wandelbots_api_client/v2/models/payload.py +2 -2
  521. wandelbots_api_client/v2/models/plan422_response.py +2 -2
  522. wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +2 -2
  523. wandelbots_api_client/v2/models/plan_collision_free_request.py +2 -2
  524. wandelbots_api_client/v2/models/plan_collision_free_response.py +2 -2
  525. wandelbots_api_client/v2/models/plan_collision_free_response_response.py +2 -2
  526. wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +2 -2
  527. wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py +2 -2
  528. wandelbots_api_client/v2/models/plan_trajectory_request.py +2 -2
  529. wandelbots_api_client/v2/models/plan_trajectory_response.py +2 -2
  530. wandelbots_api_client/v2/models/plan_trajectory_response_response.py +2 -2
  531. wandelbots_api_client/v2/models/plan_validation_error.py +2 -2
  532. wandelbots_api_client/v2/models/plan_validation_error_all_of_data.py +2 -2
  533. wandelbots_api_client/v2/models/plane.py +2 -2
  534. wandelbots_api_client/v2/models/playback_speed_request.py +5 -4
  535. wandelbots_api_client/v2/models/playback_speed_response.py +2 -2
  536. wandelbots_api_client/v2/models/pose.py +2 -2
  537. wandelbots_api_client/v2/models/profinet_description.py +2 -2
  538. wandelbots_api_client/v2/models/profinet_input_output_config.py +4 -4
  539. wandelbots_api_client/v2/models/profinet_io.py +2 -2
  540. wandelbots_api_client/v2/models/profinet_io_data.py +2 -2
  541. wandelbots_api_client/v2/models/profinet_io_direction.py +2 -2
  542. wandelbots_api_client/v2/models/profinet_io_type_enum.py +2 -2
  543. wandelbots_api_client/v2/models/profinet_slot_description.py +4 -4
  544. wandelbots_api_client/v2/models/profinet_sub_slot_description.py +5 -5
  545. wandelbots_api_client/v2/models/program.py +2 -2
  546. wandelbots_api_client/v2/models/program_run.py +2 -2
  547. wandelbots_api_client/v2/models/program_run_state.py +2 -2
  548. wandelbots_api_client/v2/models/program_start_request.py +2 -2
  549. wandelbots_api_client/v2/models/rectangle.py +2 -2
  550. wandelbots_api_client/v2/models/rectangular_capsule.py +2 -2
  551. wandelbots_api_client/v2/models/release_channel.py +2 -2
  552. wandelbots_api_client/v2/models/robot_controller.py +2 -2
  553. wandelbots_api_client/v2/models/robot_controller_configuration.py +2 -2
  554. wandelbots_api_client/v2/models/robot_controller_state.py +6 -5
  555. wandelbots_api_client/v2/models/robot_system_mode.py +2 -2
  556. wandelbots_api_client/v2/models/robot_tcp.py +2 -2
  557. wandelbots_api_client/v2/models/robot_tcp_data.py +2 -2
  558. wandelbots_api_client/v2/models/rrt_connect_algorithm.py +2 -2
  559. wandelbots_api_client/v2/models/safety_state_type.py +2 -2
  560. wandelbots_api_client/v2/models/service_group.py +2 -2
  561. wandelbots_api_client/v2/models/service_status.py +2 -2
  562. wandelbots_api_client/v2/models/service_status_phase.py +2 -2
  563. wandelbots_api_client/v2/models/service_status_response.py +2 -2
  564. wandelbots_api_client/v2/models/service_status_severity.py +2 -2
  565. wandelbots_api_client/v2/models/service_status_status.py +2 -2
  566. wandelbots_api_client/v2/models/set_io.py +2 -2
  567. wandelbots_api_client/v2/models/settable_robot_system_mode.py +2 -2
  568. wandelbots_api_client/v2/models/singularity_type_enum.py +2 -2
  569. wandelbots_api_client/v2/models/sphere.py +2 -2
  570. wandelbots_api_client/v2/models/start_movement_request.py +2 -2
  571. wandelbots_api_client/v2/models/start_movement_response.py +2 -2
  572. wandelbots_api_client/v2/models/start_on_io.py +2 -2
  573. wandelbots_api_client/v2/models/stream_io_values_response.py +5 -4
  574. wandelbots_api_client/v2/models/tcp_offset.py +2 -2
  575. wandelbots_api_client/v2/models/tcp_required_error.py +2 -2
  576. wandelbots_api_client/v2/models/tcp_velocity_request.py +2 -2
  577. wandelbots_api_client/v2/models/tcp_velocity_response.py +2 -2
  578. wandelbots_api_client/v2/models/torque_exceeded_error.py +2 -2
  579. wandelbots_api_client/v2/models/torque_exceeded_error_torque_exceeded.py +2 -2
  580. wandelbots_api_client/v2/models/trajectory_data.py +2 -2
  581. wandelbots_api_client/v2/models/trajectory_details.py +2 -2
  582. wandelbots_api_client/v2/models/trajectory_details_state.py +2 -27
  583. wandelbots_api_client/v2/models/trajectory_ended.py +2 -2
  584. wandelbots_api_client/v2/models/trajectory_id.py +2 -2
  585. wandelbots_api_client/v2/models/trajectory_paused_by_user.py +2 -2
  586. wandelbots_api_client/v2/models/trajectory_paused_on_io.py +2 -2
  587. wandelbots_api_client/v2/models/trajectory_running.py +5 -4
  588. wandelbots_api_client/v2/models/trajectory_wait_for_io.py +2 -2
  589. wandelbots_api_client/v2/models/unit_type.py +2 -2
  590. wandelbots_api_client/v2/models/universalrobots_controller.py +2 -2
  591. wandelbots_api_client/v2/models/update_nova_version_request.py +2 -2
  592. wandelbots_api_client/v2/models/validation_error.py +2 -2
  593. wandelbots_api_client/v2/models/validation_error2.py +2 -2
  594. wandelbots_api_client/v2/models/validation_error_loc_inner.py +2 -2
  595. wandelbots_api_client/v2/models/virtual_controller.py +2 -2
  596. wandelbots_api_client/v2/models/virtual_controller_types.py +9 -2
  597. wandelbots_api_client/v2/models/virtual_robot_configuration.py +2 -2
  598. wandelbots_api_client/v2/models/wait_for_io_event_request.py +2 -2
  599. wandelbots_api_client/v2/models/yaskawa_controller.py +2 -2
  600. wandelbots_api_client/v2/rest.py +4 -3
  601. wandelbots_api_client/v2_pydantic/__init__.py +3 -4
  602. wandelbots_api_client/v2_pydantic/api/__init__.py +2 -0
  603. wandelbots_api_client/v2_pydantic/api/application_api.py +20 -39
  604. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +772 -236
  605. wandelbots_api_client/v2_pydantic/api/cell_api.py +23 -45
  606. wandelbots_api_client/v2_pydantic/api/controller_api.py +41 -78
  607. wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +14 -27
  608. wandelbots_api_client/v2_pydantic/api/jogging_api.py +3 -4
  609. wandelbots_api_client/v2_pydantic/api/kinematics_api.py +8 -15
  610. wandelbots_api_client/v2_pydantic/api/license_api.py +14 -27
  611. wandelbots_api_client/v2_pydantic/api/motion_group_api.py +10 -17
  612. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +544 -17
  613. wandelbots_api_client/v2_pydantic/api/program_api.py +26 -39
  614. wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +47 -93
  615. wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +17 -33
  616. wandelbots_api_client/v2_pydantic/api/store_object_api.py +20 -39
  617. wandelbots_api_client/v2_pydantic/api/system_api.py +33 -60
  618. wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +17 -33
  619. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +3 -4
  620. wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +8 -15
  621. wandelbots_api_client/v2_pydantic/api/version_api.py +287 -0
  622. wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +47 -93
  623. wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +11 -21
  624. wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +11 -21
  625. wandelbots_api_client/v2_pydantic/api_client.py +3 -4
  626. wandelbots_api_client/v2_pydantic/configuration.py +19 -8
  627. wandelbots_api_client/v2_pydantic/exceptions.py +2 -2
  628. wandelbots_api_client/v2_pydantic/models.py +451 -406
  629. wandelbots_api_client/v2_pydantic/rest.py +4 -3
  630. {wandelbots_api_client-25.10.0.dev35.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/METADATA +3 -3
  631. wandelbots_api_client-26.1.0.dev50.dist-info/RECORD +641 -0
  632. wandelbots_api_client/models/create_trigger_request_config.py +0 -123
  633. wandelbots_api_client-25.10.0.dev35.dist-info/RECORD +0 -636
  634. {wandelbots_api_client-25.10.0.dev35.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/WHEEL +0 -0
  635. {wandelbots_api_client-25.10.0.dev35.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/licenses/LICENSE +0 -0
  636. {wandelbots_api_client-25.10.0.dev35.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/top_level.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: public.openapi.yaml
3
- # timestamp: 2025-10-30T12:53:48+00:00
3
+ # timestamp: 2026-01-09T13:39:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
7
  from datetime import date
8
8
  from enum import Enum
9
9
  from pathlib import Path
10
- from typing import Annotated, Any, Dict, List, Literal, Optional, Union
10
+ from typing import Annotated, Any, Literal
11
11
 
12
12
  from pydantic import AwareDatetime, BaseModel, EmailStr, Field, RootModel
13
13
 
@@ -17,7 +17,7 @@ class NameList(RootModel):
17
17
  A list of names
18
18
  """
19
19
 
20
- root: List[str]
20
+ root: list[str]
21
21
  """
22
22
  A list of names
23
23
  """
@@ -127,7 +127,7 @@ class KukaController(BaseModel):
127
127
  """
128
128
  The RSI server runs inside of the cell.
129
129
  """
130
- slow_cycle_rate: Optional[bool] = False
130
+ slow_cycle_rate: bool | None = False
131
131
  """
132
132
  If true, uses slower cycle time of 12ms instead of 4ms.
133
133
 
@@ -174,6 +174,7 @@ class VirtualControllerTypes(Enum):
174
174
  ABB_IRB4600_250_20 = 'abb-irb4600_250_20'
175
175
  ABB_IRB4600_255_40 = 'abb-irb4600_255_40'
176
176
  ABB_IRB6730_210_310 = 'abb-irb6730_210_310'
177
+ ABB_IRB6730_240_290 = 'abb-irb6730_240_290'
177
178
  FANUC_ARC_MATE_100I_D = 'fanuc-arc_mate_100iD'
178
179
  FANUC_ARC_MATE_100I_D16_S = 'fanuc-arc_mate_100iD16S'
179
180
  FANUC_ARC_MATE_120I_D = 'fanuc-arc_mate_120iD'
@@ -211,11 +212,17 @@ class VirtualControllerTypes(Enum):
211
212
  KUKA_KR16_R2010_2 = 'kuka-kr16_r2010_2'
212
213
  KUKA_KR20_R1810 = 'kuka-kr20_r1810'
213
214
  KUKA_KR20_R1810_2 = 'kuka-kr20_r1810_2'
215
+ KUKA_KR120_R3100_2 = 'kuka-kr120_r3100_2'
216
+ KUKA_KR120_R3900_2_K = 'kuka-kr120_r3900_2_k'
217
+ KUKA_KR210_R2700_EXTRA = 'kuka-kr210_r2700_extra'
214
218
  KUKA_KR210_R2700_2 = 'kuka-kr210_r2700_2'
215
219
  KUKA_KR210_R3100_2 = 'kuka-kr210_r3100_2'
216
220
  KUKA_KR210_R3300_2 = 'kuka-kr210_r3300_2'
217
221
  KUKA_KR240_R2700 = 'kuka-kr240_r2700'
222
+ KUKA_KR240_R2900 = 'kuka-kr240_r2900'
223
+ KUKA_KR240_R3700_2 = 'kuka-kr240_r3700_2'
218
224
  KUKA_KR250_R2700_2 = 'kuka-kr250_r2700_2'
225
+ KUKA_KR270_R2700 = 'kuka-kr270_r2700'
219
226
  KUKA_KR30_R2100 = 'kuka-kr30_r2100'
220
227
  KUKA_KR30_R3 = 'kuka-kr30_r3'
221
228
  KUKA_KR360_L240_3 = 'kuka-kr360_l240_3'
@@ -277,15 +284,15 @@ class VirtualController(BaseModel):
277
284
 
278
285
  kind: Literal['VirtualController'] = 'VirtualController'
279
286
  manufacturer: Manufacturer
280
- type: Optional[VirtualControllerTypes] = None
281
- json_: Annotated[Optional[str], Field(alias='json')] = None
287
+ type: VirtualControllerTypes | None = None
288
+ json_: Annotated[str | None, Field(alias='json')] = None
282
289
  """
283
290
  Complete JSON configuration of the virtual robot controller.
284
291
  Can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](getVirtualControllerConfiguration).
285
292
  If provided, the `type` field should not be used.
286
293
 
287
294
  """
288
- initial_joint_position: Optional[str] = None
295
+ initial_joint_position: str | None = None
289
296
  """
290
297
  Initial joint position of the first motion group from the virtual robot controller.
291
298
  Provide the joint position as a JSON array containing 7 float values,
@@ -316,14 +323,12 @@ class RobotController(BaseModel):
316
323
 
317
324
  """
318
325
  configuration: Annotated[
319
- Union[
320
- AbbController,
321
- FanucController,
322
- KukaController,
323
- UniversalrobotsController,
324
- VirtualController,
325
- YaskawaController,
326
- ],
326
+ AbbController
327
+ | FanucController
328
+ | KukaController
329
+ | UniversalrobotsController
330
+ | VirtualController
331
+ | YaskawaController,
327
332
  Field(discriminator='kind'),
328
333
  ]
329
334
 
@@ -353,8 +358,8 @@ class ContainerImage(BaseModel):
353
358
  """
354
359
  The location of a container image in the form of `<registry>/<image>:<tag>`.
355
360
  """
356
- credentials: Optional[ImageCredentials] = None
357
- secrets: Optional[List[Secret]] = None
361
+ credentials: ImageCredentials | None = None
362
+ secrets: list[Secret] | None = None
358
363
  """
359
364
  Known secrets for authentication with the container registry.
360
365
  """
@@ -372,7 +377,7 @@ class ContainerEnvironment(RootModel):
372
377
 
373
378
  """
374
379
 
375
- root: List[ContainerEnvironmentItem]
380
+ root: list[ContainerEnvironmentItem]
376
381
  """
377
382
  A list of environment variables with name and their value.
378
383
  These can be used to configure the containerized application, and turn features on or off.
@@ -439,11 +444,11 @@ class ContainerResources(BaseModel):
439
444
  Additional resources that the application requires.
440
445
  """
441
446
 
442
- intel_gpu: Annotated[Optional[int], Field(ge=0, le=1)] = None
447
+ intel_gpu: Annotated[int | None, Field(ge=0, le=1)] = None
443
448
  """
444
449
  Number of GPUs the application requires.
445
450
  """
446
- memory_limit: Annotated[Optional[str], Field(examples=['1000Mi'])] = None
451
+ memory_limit: Annotated[str | None, Field(examples=['1000Mi'])] = None
447
452
  """
448
453
  The maximum memory allocated to this application.
449
454
  """
@@ -471,14 +476,14 @@ class App(BaseModel):
471
476
  The path of the icon for the App (/$cell/$name/$app_icon).
472
477
  """
473
478
  container_image: ContainerImage
474
- port: Optional[int] = 8080
479
+ port: int | None = 8080
475
480
  """
476
481
  The port the containerized webserver is listening on.
477
482
  """
478
- environment: Optional[ContainerEnvironment] = None
479
- storage: Optional[ContainerStorage] = None
480
- resources: Optional[ContainerResources] = None
481
- health_path: Optional[str] = None
483
+ environment: ContainerEnvironment | None = None
484
+ storage: ContainerStorage | None = None
485
+ resources: ContainerResources | None = None
486
+ health_path: str | None = None
482
487
  """
483
488
  Defines the URL path suffix used to check the application's health status. The complete health check URL
484
489
  is constructed as `/$cell/$name/$health_path`. When the application is working as expected,
@@ -491,7 +496,7 @@ class App(BaseModel):
491
496
  automatically restart the application container to restore service.
492
497
 
493
498
  """
494
- diagnosis_path: Optional[str] = None
499
+ diagnosis_path: str | None = None
495
500
  """
496
501
  Defines the URL path suffix used to provide an endpoint for diagnosis data collection.
497
502
  The complete diagnosis check URL is constructed as `/$cell/$name/$diagnosis_path`.
@@ -511,13 +516,13 @@ class Cell(BaseModel):
511
516
  """
512
517
 
513
518
  name: CellName
514
- description: Optional[CellDescription] = None
515
- controllers: Optional[List[RobotController]] = None
516
- apps: Optional[List[App]] = None
519
+ description: CellDescription | None = None
520
+ controllers: list[RobotController] | None = None
521
+ apps: list[App] | None = None
517
522
 
518
523
 
519
524
  class Error(BaseModel):
520
- code: Optional[str] = None
525
+ code: str | None = None
521
526
  message: str
522
527
 
523
528
 
@@ -563,7 +568,7 @@ class ServiceStatusPhase(Enum):
563
568
  class Status(BaseModel):
564
569
  severity: ServiceStatusSeverity
565
570
  code: ServiceStatusPhase
566
- reason: Optional[str] = None
571
+ reason: str | None = None
567
572
 
568
573
 
569
574
  class ServiceStatus(BaseModel):
@@ -573,7 +578,7 @@ class ServiceStatus(BaseModel):
573
578
 
574
579
 
575
580
  class ServiceStatusList(RootModel):
576
- root: List[ServiceStatus]
581
+ root: list[ServiceStatus]
577
582
 
578
583
  def __getitem__(self, index: int) -> ServiceStatus:
579
584
  """
@@ -637,14 +642,14 @@ class BusIOProfinetIpConfig(BaseModel):
637
642
 
638
643
 
639
644
  class BusIOProfinetNetwork(BaseModel):
640
- device_name: Annotated[Optional[str], Field(examples=['pnDevice'])] = None
645
+ device_name: Annotated[str | None, Field(examples=['pnDevice'])] = None
641
646
  """
642
647
  Name of Station (NoS) of the PROFINET device. The NoS is used in combination with IPv4 record to identify your device in the PROFINET network.
643
648
  The `device_name` will be used as NoS if no REMA XML file is already present on your machine and no `rema_xml_content` is provided.
644
649
 
645
650
  """
646
- ip_config: Optional[BusIOProfinetIpConfig] = None
647
- rema_xml_content: Optional[str] = None
651
+ ip_config: BusIOProfinetIpConfig | None = None
652
+ rema_xml_content: str | None = None
648
653
  """
649
654
  Content of the PROFINET REMA XML file.
650
655
  Is used when PROFINET service is added for the first time to create the REMA XML file that holds data to be kept for the next session.
@@ -683,7 +688,7 @@ class BusIOProfinet(BaseModel):
683
688
  """
684
689
 
685
690
  bus_type: Literal['profinet'] = 'profinet'
686
- network_config: Optional[BusIOProfinetNetwork] = None
691
+ network_config: BusIOProfinetNetwork | None = None
687
692
  """
688
693
  Used to enable IP communication through the same physical ethernet interface while PROFINET driver is active.
689
694
 
@@ -702,7 +707,9 @@ class BusIOProfinet(BaseModel):
702
707
  MAC address of the physical ethernet interface that you want to use for PROFINET communication.
703
708
 
704
709
  """
705
- default_route: Optional[BusIOProfinetDefaultRoute] = None
710
+ default_route: Annotated[
711
+ BusIOProfinetDefaultRoute | None, Field(deprecated=True)
712
+ ] = None
706
713
 
707
714
 
708
715
  class BusIOProfinetVirtual(BaseModel):
@@ -715,7 +722,7 @@ class BusIOProfinetVirtual(BaseModel):
715
722
 
716
723
 
717
724
  class BusIOModbusTCPServer(BaseModel):
718
- network_type: Optional[Literal['tcp']] = None
725
+ network_type: Literal['tcp'] | None = None
719
726
  port: Annotated[int, Field(examples=[502], ge=1, le=65534)]
720
727
  """
721
728
  Port number of the MODBUS server to establish communication with.
@@ -759,7 +766,7 @@ class BusIOModbusServer(BaseModel):
759
766
 
760
767
 
761
768
  class BusIOModbusTCPClient(BaseModel):
762
- network_type: Optional[Literal['tcp']] = None
769
+ network_type: Literal['tcp'] | None = None
763
770
  ip: Annotated[str, Field(examples=['192.168.1.100'])]
764
771
  """
765
772
  IP address of the MODBUS server to establish communication with.
@@ -793,13 +800,11 @@ class BusIOModbusVirtual(BaseModel):
793
800
 
794
801
  class BusIOType(RootModel):
795
802
  root: Annotated[
796
- Union[
797
- BusIOProfinet,
798
- BusIOProfinetVirtual,
799
- BusIOModbusServer,
800
- BusIOModbusClient,
801
- BusIOModbusVirtual,
802
- ],
803
+ BusIOProfinet
804
+ | BusIOProfinetVirtual
805
+ | BusIOModbusServer
806
+ | BusIOModbusClient
807
+ | BusIOModbusVirtual,
803
808
  Field(discriminator='bus_type'),
804
809
  ]
805
810
 
@@ -838,7 +843,7 @@ class Metadata(RootModel):
838
843
  Additional metadata to add to the backup
839
844
  """
840
845
 
841
- root: Dict[str, str]
846
+ root: dict[str, str]
842
847
 
843
848
 
844
849
  class ConfigurationArchive(RootModel):
@@ -876,11 +881,9 @@ class ConfigurationArchiveStatusSuccess(BaseModel):
876
881
 
877
882
  class ConfigurationArchiveStatus(RootModel):
878
883
  root: Annotated[
879
- Union[
880
- ConfigurationArchiveStatusCreating,
881
- ConfigurationArchiveStatusError,
882
- ConfigurationArchiveStatusSuccess,
883
- ],
884
+ ConfigurationArchiveStatusCreating
885
+ | ConfigurationArchiveStatusError
886
+ | ConfigurationArchiveStatusSuccess,
884
887
  Field(discriminator='status'),
885
888
  ]
886
889
  """
@@ -918,7 +921,7 @@ class License(BaseModel):
918
921
  """
919
922
  Identification key of the license.
920
923
  """
921
- license_expiry_date: Optional[date] = None
924
+ license_expiry_date: date | None = None
922
925
  """
923
926
  Expiration date of the license.
924
927
  """
@@ -934,11 +937,11 @@ class License(BaseModel):
934
937
  """
935
938
  Amount of times the license can be activated.
936
939
  """
937
- feature_limitations: Optional[Dict[str, int]] = None
940
+ feature_limitations: dict[str, int] | None = None
938
941
  """
939
942
  Feature limitations of the license.
940
943
  """
941
- feature_flags: Optional[List[str]] = None
944
+ feature_flags: list[str] | None = None
942
945
  """
943
946
  Features enabled by a license.
944
947
  """
@@ -1094,7 +1097,7 @@ class Vector3d(RootModel):
1094
1097
 
1095
1098
  """
1096
1099
 
1097
- root: Annotated[List[float], Field(max_length=3, min_length=3, title='Vector3d')]
1100
+ root: Annotated[list[float], Field(max_length=3, min_length=3, title='Vector3d')]
1098
1101
  """
1099
1102
  A three-dimensional vector [x, y, z] with double precision.
1100
1103
 
@@ -1131,7 +1134,7 @@ class ConvexHull(BaseModel):
1131
1134
  """
1132
1135
 
1133
1136
  shape_type: Literal['convex_hull'] = 'convex_hull'
1134
- vertices: List[Vector3d]
1137
+ vertices: list[Vector3d]
1135
1138
  """
1136
1139
  The list of encapsulated points.
1137
1140
  """
@@ -1147,7 +1150,7 @@ class RotationVector(RootModel):
1147
1150
  """
1148
1151
 
1149
1152
  root: Annotated[
1150
- List[float], Field(max_length=3, min_length=3, title='RotationVector')
1153
+ list[float], Field(max_length=3, min_length=3, title='RotationVector')
1151
1154
  ]
1152
1155
  """
1153
1156
  Defines a rotation in 3D space.
@@ -1190,8 +1193,8 @@ class Pose(BaseModel):
1190
1193
 
1191
1194
  """
1192
1195
 
1193
- position: Optional[Vector3d] = None
1194
- orientation: Optional[RotationVector] = None
1196
+ position: Vector3d | None = None
1197
+ orientation: RotationVector | None = None
1195
1198
 
1196
1199
 
1197
1200
  class Collider(BaseModel):
@@ -1209,27 +1212,25 @@ class Collider(BaseModel):
1209
1212
  """
1210
1213
 
1211
1214
  shape: Annotated[
1212
- Union[
1213
- Sphere,
1214
- Box,
1215
- Rectangle,
1216
- Plane,
1217
- Cylinder,
1218
- Capsule,
1219
- RectangularCapsule,
1220
- ConvexHull,
1221
- ],
1215
+ Sphere
1216
+ | Box
1217
+ | Rectangle
1218
+ | Plane
1219
+ | Cylinder
1220
+ | Capsule
1221
+ | RectangularCapsule
1222
+ | ConvexHull,
1222
1223
  Field(discriminator='shape_type'),
1223
1224
  ]
1224
- pose: Optional[Pose] = None
1225
- margin: Optional[float] = 0
1225
+ pose: Pose | None = None
1226
+ margin: float | None = 0
1226
1227
  """
1227
1228
  Increases the shape's size in all dimensions. Applied in [mm]. Can be used to keep a safe distance to the shape.
1228
1229
  """
1229
1230
 
1230
1231
 
1231
1232
  class Link(RootModel):
1232
- root: Dict[str, Collider]
1233
+ root: dict[str, Collider]
1233
1234
 
1234
1235
 
1235
1236
  class LinkChain(RootModel):
@@ -1250,7 +1251,7 @@ class LinkChain(RootModel):
1250
1251
  """
1251
1252
 
1252
1253
  root: Annotated[
1253
- List[Link],
1254
+ list[Link],
1254
1255
  Field(
1255
1256
  examples=[
1256
1257
  [
@@ -1328,7 +1329,7 @@ class ControllerDescription(BaseModel):
1328
1329
  The data type to describe a robot controller.
1329
1330
  """
1330
1331
 
1331
- connected_motion_groups: List[str]
1332
+ connected_motion_groups: list[str]
1332
1333
  supports_freedrive: bool
1333
1334
  """
1334
1335
  Can this controller be moved through freedrive (true), or not (false).
@@ -1455,7 +1456,7 @@ class Joints(RootModel):
1455
1456
 
1456
1457
  """
1457
1458
 
1458
- root: List[float]
1459
+ root: list[float]
1459
1460
  """
1460
1461
  This structure describes a set of joint values, e.g., positions, currents, torques, of a motion group.
1461
1462
 
@@ -1495,7 +1496,7 @@ class MotionGroupStateJointLimitReached(BaseModel):
1495
1496
 
1496
1497
  """
1497
1498
 
1498
- limit_reached: List[bool]
1499
+ limit_reached: list[bool]
1499
1500
  """
1500
1501
  If true, operational (soft) jointLimit is reached for specific joint.
1501
1502
  """
@@ -1528,6 +1529,10 @@ class JoggingPausedOnIO(BaseModel):
1528
1529
  kind: Literal['PAUSED_ON_IO'] = 'PAUSED_ON_IO'
1529
1530
 
1530
1531
 
1532
+ class JointIndice(RootModel):
1533
+ root: Annotated[int, Field(ge=0, le=2147483647)]
1534
+
1535
+
1531
1536
  class JoggingPausedNearJointLimit(BaseModel):
1532
1537
  """
1533
1538
  Jogging was paused because a joint is near its limit.
@@ -1535,7 +1540,7 @@ class JoggingPausedNearJointLimit(BaseModel):
1535
1540
  """
1536
1541
 
1537
1542
  kind: Literal['PAUSED_NEAR_JOINT_LIMIT'] = 'PAUSED_NEAR_JOINT_LIMIT'
1538
- joint_indices: List[int]
1543
+ joint_indices: list[JointIndice]
1539
1544
 
1540
1545
 
1541
1546
  class JoggingPausedNearCollision(BaseModel):
@@ -1562,13 +1567,11 @@ class JoggingDetails(BaseModel):
1562
1567
  """
1563
1568
 
1564
1569
  state: Annotated[
1565
- Union[
1566
- JoggingRunning,
1567
- JoggingPausedByUser,
1568
- JoggingPausedOnIO,
1569
- JoggingPausedNearJointLimit,
1570
- JoggingPausedNearCollision,
1571
- ],
1570
+ JoggingRunning
1571
+ | JoggingPausedByUser
1572
+ | JoggingPausedOnIO
1573
+ | JoggingPausedNearJointLimit
1574
+ | JoggingPausedNearCollision,
1572
1575
  Field(discriminator='kind'),
1573
1576
  ]
1574
1577
  kind: Literal['JOGGING'] = 'JOGGING'
@@ -1597,7 +1600,7 @@ class TrajectoryRunning(BaseModel):
1597
1600
  """
1598
1601
 
1599
1602
  kind: Literal['RUNNING'] = 'RUNNING'
1600
- time_to_end: int
1603
+ time_to_end: Annotated[int, Field(ge=0, le=4294967295)]
1601
1604
  """
1602
1605
  Remaining time in milliseconds (ms) to reach the end of the motion.
1603
1606
  """
@@ -1659,13 +1662,11 @@ class TrajectoryDetails(BaseModel):
1659
1662
  """
1660
1663
  location: Location
1661
1664
  state: Annotated[
1662
- Union[
1663
- TrajectoryRunning,
1664
- TrajectoryPausedByUser,
1665
- TrajectoryEnded,
1666
- TrajectoryWaitForIO,
1667
- TrajectoryPausedOnIO,
1668
- ],
1665
+ TrajectoryRunning
1666
+ | TrajectoryPausedByUser
1667
+ | TrajectoryEnded
1668
+ | TrajectoryWaitForIO
1669
+ | TrajectoryPausedOnIO,
1669
1670
  Field(discriminator='kind'),
1670
1671
  ]
1671
1672
  kind: Literal['TRAJECTORY'] = 'TRAJECTORY'
@@ -1683,13 +1684,13 @@ class Execute(BaseModel):
1683
1684
 
1684
1685
  """
1685
1686
 
1686
- joint_position: List[float]
1687
+ joint_position: list[float]
1687
1688
  """
1688
1689
  Commanded joint position of each joint in [rad]. This command was sent in the time step the corresponding state was received.
1689
1690
 
1690
1691
  """
1691
1692
  details: Annotated[
1692
- Optional[Union[JoggingDetails, TrajectoryDetails]], Field(discriminator='kind')
1693
+ JoggingDetails | TrajectoryDetails | None, Field(discriminator='kind')
1693
1694
  ] = None
1694
1695
 
1695
1696
 
@@ -1702,7 +1703,7 @@ class MotionGroupState(BaseModel):
1702
1703
  """
1703
1704
  Timestamp for when data was received from the robot controller.
1704
1705
  """
1705
- sequence_number: int
1706
+ sequence_number: Annotated[int, Field(ge=0, le=4294967295)]
1706
1707
  """
1707
1708
  Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
1708
1709
  The sequence number is reset when the connection to the physical controller is closed and re-established.
@@ -1726,19 +1727,19 @@ class MotionGroupState(BaseModel):
1726
1727
  Indicates whether the joint is in a limit for all joints of the motion group.
1727
1728
 
1728
1729
  """
1729
- joint_torque: Optional[Joints] = None
1730
+ joint_torque: Joints | None = None
1730
1731
  """
1731
1732
  Current joint torque of each joint in [Nm].
1732
1733
  Is only available if the robot controller supports it, e.g., available for UR controllers.
1733
1734
 
1734
1735
  """
1735
- joint_current: Optional[Joints] = None
1736
+ joint_current: Joints | None = None
1736
1737
  """
1737
1738
  Current at TCP in [A].
1738
1739
  Is only available if the robot controller supports it, e.g., available for UR controllers.
1739
1740
 
1740
1741
  """
1741
- flange_pose: Optional[Pose] = None
1742
+ flange_pose: Pose | None = None
1742
1743
  """
1743
1744
  Pose of the flange.
1744
1745
  Positions are in [mm].
@@ -1747,13 +1748,13 @@ class MotionGroupState(BaseModel):
1747
1748
  For robot arms a flange pose is always returned, for positioners the flange might not be available, depending on the model.
1748
1749
 
1749
1750
  """
1750
- tcp: Optional[str] = None
1751
+ tcp: str | None = None
1751
1752
  """
1752
1753
  Unique identifier addressing the active TCP.
1753
1754
  Might not be returned for positioners as some do not support TCPs, depending on the model.
1754
1755
 
1755
1756
  """
1756
- tcp_pose: Optional[Pose] = None
1757
+ tcp_pose: Pose | None = None
1757
1758
  """
1758
1759
  Pose of the TCP selected on the robot control panel.
1759
1760
  Positions are in [mm].
@@ -1762,14 +1763,14 @@ class MotionGroupState(BaseModel):
1762
1763
  Might not be returned for positioners as some do not support TCPs, depending on the model.
1763
1764
 
1764
1765
  """
1765
- coordinate_system: Optional[str] = None
1766
+ coordinate_system: str | None = None
1766
1767
  """
1767
1768
  Unique identifier addressing the reference coordinate system of the cartesian data.
1768
1769
  Might not be returned for positioners as some do not support TCPs, depending on the model.
1769
1770
  Default: world coordinate system of corresponding controller.
1770
1771
 
1771
1772
  """
1772
- payload: Optional[str] = None
1773
+ payload: str | None = None
1773
1774
  """
1774
1775
  Unique identifier addressing the active payload.
1775
1776
  Only fetchable via GET endpoint, not available in WebSocket.
@@ -1781,7 +1782,7 @@ class MotionGroupState(BaseModel):
1781
1782
  Convenience: Signals that NOVA treats measured joint velocities as 0.
1782
1783
 
1783
1784
  """
1784
- execute: Optional[Execute] = None
1785
+ execute: Execute | None = None
1785
1786
  """
1786
1787
  Data that was commanded to the motion group. Includes additional data on NOVA's execution components for executing trajectories and jogging.
1787
1788
  This is a convenience field to indicate the last command sent to the motion group.
@@ -1799,7 +1800,7 @@ class RobotControllerState(BaseModel):
1799
1800
  """
1800
1801
  Mode of communication and control between NOVA and the robot controller.
1801
1802
  """
1802
- last_error: Optional[List[str]] = None
1803
+ last_error: list[str] | None = None
1803
1804
  """
1804
1805
  Last error stack encountered during initialization process or after a controller disconnect.
1805
1806
  At this stage, it's unclear whether the error is fatal.
@@ -1814,7 +1815,7 @@ class RobotControllerState(BaseModel):
1814
1815
  """
1815
1816
  Timestamp indicating when the represented information was received from the robot controller.
1816
1817
  """
1817
- sequence_number: int
1818
+ sequence_number: Annotated[int, Field(ge=0, le=4294967295)]
1818
1819
  """
1819
1820
  Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
1820
1821
  The sequence number is reset when the connection to the physical controller is closed and re-established.
@@ -1826,14 +1827,14 @@ class RobotControllerState(BaseModel):
1826
1827
  """
1827
1828
  operation_mode: OperationMode
1828
1829
  safety_state: SafetyStateType
1829
- velocity_override: Optional[int] = None
1830
+ velocity_override: Annotated[int | None, Field(ge=1, le=100)] = None
1830
1831
  """
1831
1832
  If made available by the robot controller, returns the current velocity override in
1832
1833
  [percentage] for movements adjusted on robot control panel.
1833
1834
  Valid value range: 1 - 100.
1834
1835
 
1835
1836
  """
1836
- motion_groups: Annotated[List[MotionGroupState], Field(title='MotionGroupState[]')]
1837
+ motion_groups: Annotated[list[MotionGroupState], Field(title='MotionGroupState[]')]
1837
1838
  """
1838
1839
  State of indicated motion groups.
1839
1840
  In case of state request via controller all configured motion groups are returned.
@@ -1913,7 +1914,7 @@ class FloatValue(BaseModel):
1913
1914
 
1914
1915
  class IOBoundary(RootModel):
1915
1916
  root: Annotated[
1916
- Union[BooleanValue, IntegerValue, FloatValue],
1917
+ BooleanValue | IntegerValue | FloatValue,
1917
1918
  Field(discriminator='value_type', title='IOBoundary'),
1918
1919
  ]
1919
1920
 
@@ -1929,20 +1930,20 @@ class IODescription(BaseModel):
1929
1930
  Name of the input/output. Customize it on the physical controller or in the virtual robot specification.
1930
1931
 
1931
1932
  """
1932
- group: Optional[str] = None
1933
+ group: str | None = None
1933
1934
  """
1934
1935
  Name of the input/output group. Customize it on the physical controller or in the virtual robot specification.
1935
1936
 
1936
1937
  """
1937
1938
  direction: IODirection
1938
1939
  value_type: IOValueType
1939
- unit: Optional[UnitType] = None
1940
- min: Optional[IOBoundary] = None
1941
- max: Optional[IOBoundary] = None
1940
+ unit: UnitType | None = None
1941
+ min: IOBoundary | None = None
1942
+ max: IOBoundary | None = None
1942
1943
 
1943
1944
 
1944
1945
  class ListIODescriptionsResponse(RootModel):
1945
- root: List[IODescription]
1946
+ root: list[IODescription]
1946
1947
 
1947
1948
  def __getitem__(self, index: int) -> IODescription:
1948
1949
  """
@@ -2018,7 +2019,7 @@ class IOFloatValue(BaseModel):
2018
2019
 
2019
2020
  class IOValue(RootModel):
2020
2021
  root: Annotated[
2021
- Union[IOBooleanValue, IOIntegerValue, IOFloatValue],
2022
+ IOBooleanValue | IOIntegerValue | IOFloatValue,
2022
2023
  Field(discriminator='value_type'),
2023
2024
  ]
2024
2025
 
@@ -2028,12 +2029,12 @@ class StreamIOValuesResponse(BaseModel):
2028
2029
  Array of input/output values.
2029
2030
  """
2030
2031
 
2031
- io_values: List[IOValue]
2032
+ io_values: list[IOValue]
2032
2033
  timestamp: AwareDatetime
2033
2034
  """
2034
2035
  Timestamp indicating when the represented information was received from the robot controller.
2035
2036
  """
2036
- sequence_number: int
2037
+ sequence_number: Annotated[int, Field(ge=0, le=4294967295)]
2037
2038
  """
2038
2039
  Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
2039
2040
  The sequence number is reset when the connection to the physical controller is closed and re-established.
@@ -2047,7 +2048,7 @@ class ListIOValuesResponse(RootModel):
2047
2048
  """
2048
2049
 
2049
2050
  root: Annotated[
2050
- List[IOValue],
2051
+ list[IOValue],
2051
2052
  Field(
2052
2053
  examples=[
2053
2054
  {
@@ -2200,7 +2201,7 @@ class Orientation(RootModel):
2200
2201
 
2201
2202
  """
2202
2203
 
2203
- root: Annotated[List[float], Field(max_length=4, min_length=3, title='Orientation')]
2204
+ root: Annotated[list[float], Field(max_length=4, min_length=3, title='Orientation')]
2204
2205
  """
2205
2206
  Describes an orientation in 3D space.
2206
2207
  A tree-to-four-dimensional vector [x, y, z, w] with double precision.
@@ -2233,17 +2234,17 @@ class Orientation(RootModel):
2233
2234
 
2234
2235
 
2235
2236
  class CoordinateSystemData(BaseModel):
2236
- name: Optional[str] = None
2237
+ name: str | None = None
2237
2238
  """
2238
2239
  Human readable name of this coordinate system.
2239
2240
  """
2240
- reference_coordinate_system: Optional[str] = None
2241
+ reference_coordinate_system: str | None = None
2241
2242
  """
2242
2243
  The identifier of the reference coordinate system. Empty if world is used.
2243
2244
  """
2244
- position: Optional[Vector3d] = None
2245
- orientation: Optional[Orientation] = None
2246
- orientation_type: Optional[OrientationType] = 'ROTATION_VECTOR'
2245
+ position: Vector3d | None = None
2246
+ orientation: Orientation | None = None
2247
+ orientation_type: OrientationType | None = 'ROTATION_VECTOR'
2247
2248
 
2248
2249
 
2249
2250
  class CoordinateSystem(CoordinateSystemData):
@@ -2254,7 +2255,7 @@ class CoordinateSystem(CoordinateSystemData):
2254
2255
 
2255
2256
 
2256
2257
  class ListCoordinateSystemsResponse(RootModel):
2257
- root: List[CoordinateSystem]
2258
+ root: list[CoordinateSystem]
2258
2259
 
2259
2260
  def __getitem__(self, index: int) -> CoordinateSystem:
2260
2261
  """
@@ -2301,7 +2302,7 @@ class ColliderDictionary(RootModel):
2301
2302
  A collection of identifiable colliders.
2302
2303
  """
2303
2304
 
2304
- root: Dict[str, Collider]
2305
+ root: dict[str, Collider]
2305
2306
 
2306
2307
 
2307
2308
  class LimitRange(BaseModel):
@@ -2309,37 +2310,37 @@ class LimitRange(BaseModel):
2309
2310
  The upper_limit must be greater then the lower_limit.
2310
2311
  """
2311
2312
 
2312
- lower_limit: Optional[float] = None
2313
- upper_limit: Optional[float] = None
2313
+ lower_limit: float | None = None
2314
+ upper_limit: float | None = None
2314
2315
 
2315
2316
 
2316
2317
  class JointLimits(BaseModel):
2317
- position: Optional[LimitRange] = None
2318
- velocity: Optional[float] = None
2319
- acceleration: Optional[float] = None
2320
- torque: Optional[float] = None
2318
+ position: LimitRange | None = None
2319
+ velocity: float | None = None
2320
+ acceleration: float | None = None
2321
+ torque: float | None = None
2321
2322
 
2322
2323
 
2323
2324
  class CartesianLimits(BaseModel):
2324
- velocity: Optional[float] = None
2325
- acceleration: Optional[float] = None
2326
- orientation_velocity: Optional[float] = None
2327
- orientation_acceleration: Optional[float] = None
2325
+ velocity: float | None = None
2326
+ acceleration: float | None = None
2327
+ orientation_velocity: float | None = None
2328
+ orientation_acceleration: float | None = None
2328
2329
 
2329
2330
 
2330
2331
  class LimitSet(BaseModel):
2331
- joints: Optional[List[JointLimits]] = None
2332
- tcp: Optional[CartesianLimits] = None
2333
- elbow: Optional[CartesianLimits] = None
2334
- flange: Optional[CartesianLimits] = None
2335
- coupled_shoulder_elbow_joint: Optional[JointLimits] = None
2332
+ joints: list[JointLimits] | None = None
2333
+ tcp: CartesianLimits | None = None
2334
+ elbow: CartesianLimits | None = None
2335
+ flange: CartesianLimits | None = None
2336
+ coupled_shoulder_elbow_joint: JointLimits | None = None
2336
2337
 
2337
2338
 
2338
2339
  class OperationLimits(BaseModel):
2339
- auto_limits: Optional[LimitSet] = None
2340
- manual_limits: Optional[LimitSet] = None
2341
- manual_t1_limits: Optional[LimitSet] = None
2342
- manual_t2_limits: Optional[LimitSet] = None
2340
+ auto_limits: LimitSet | None = None
2341
+ manual_limits: LimitSet | None = None
2342
+ manual_t1_limits: LimitSet | None = None
2343
+ manual_t2_limits: LimitSet | None = None
2343
2344
 
2344
2345
 
2345
2346
  class Payload(BaseModel):
@@ -2348,8 +2349,8 @@ class Payload(BaseModel):
2348
2349
  """
2349
2350
  Mass of payload in [kg].
2350
2351
  """
2351
- center_of_mass: Optional[Vector3d] = None
2352
- moment_of_inertia: Optional[Vector3d] = None
2352
+ center_of_mass: Vector3d | None = None
2353
+ moment_of_inertia: Vector3d | None = None
2353
2354
 
2354
2355
 
2355
2356
  class DHParameter(BaseModel):
@@ -2357,23 +2358,23 @@ class DHParameter(BaseModel):
2357
2358
  A single set of DH parameters.
2358
2359
  """
2359
2360
 
2360
- alpha: Optional[float] = None
2361
+ alpha: float | None = None
2361
2362
  """
2362
2363
  Angle about x-axis in [rad].
2363
2364
  """
2364
- theta: Optional[float] = None
2365
+ theta: float | None = None
2365
2366
  """
2366
2367
  Angle about z-axis in [rad].
2367
2368
  """
2368
- a: Optional[float] = None
2369
+ a: float | None = None
2369
2370
  """
2370
2371
  Offset along x-axis in [mm].
2371
2372
  """
2372
- d: Optional[float] = None
2373
+ d: float | None = None
2373
2374
  """
2374
2375
  Offset along z-axis in [mm].
2375
2376
  """
2376
- reverse_rotation_direction: Optional[bool] = None
2377
+ reverse_rotation_direction: bool | None = None
2377
2378
  """
2378
2379
  True, if rotation direction of joint is reversed.
2379
2380
  """
@@ -2385,30 +2386,30 @@ class MotionGroupDescription(BaseModel):
2385
2386
  """
2386
2387
 
2387
2388
  motion_group_model: MotionGroupModel
2388
- mounting: Optional[Pose] = None
2389
+ mounting: Pose | None = None
2389
2390
  """
2390
2391
  The offset from the world frame to the motion group base.
2391
2392
  """
2392
- tcps: Annotated[
2393
- Optional[Dict[str, TcpOffset]], Field(title='TcpOffsetDictionary')
2394
- ] = None
2393
+ tcps: Annotated[dict[str, TcpOffset] | None, Field(title='TcpOffsetDictionary')] = (
2394
+ None
2395
+ )
2395
2396
  """
2396
2397
  Maps a TCP name to its offset relative to the flange coordinate system. Key must be a TCP identifier.
2397
2398
  Values are TcpOffsets.
2398
2399
 
2399
2400
  """
2400
- safety_zones: Optional[ColliderDictionary] = None
2401
+ safety_zones: ColliderDictionary | None = None
2401
2402
  """
2402
2403
  SafetyZones are areas which cannot be entered or where certain limits apply.
2403
2404
  """
2404
- safety_link_colliders: Optional[List[ColliderDictionary]] = None
2405
+ safety_link_colliders: list[ColliderDictionary] | None = None
2405
2406
  """
2406
2407
  The shape of the MotionGroups links to validate against safety zones.
2407
2408
  Indexed along the kinematic chain, starting with a static base shape before first joint.
2408
2409
 
2409
2410
  """
2410
2411
  safety_tool_colliders: Annotated[
2411
- Optional[Dict[str, ColliderDictionary]], Field(title='SafetyToolColliders')
2412
+ dict[str, ColliderDictionary] | None, Field(title='SafetyToolColliders')
2412
2413
  ] = None
2413
2414
  """
2414
2415
  Maps a TCP name to its tool collider. Key must be a TCP identifier.
@@ -2416,22 +2417,27 @@ class MotionGroupDescription(BaseModel):
2416
2417
 
2417
2418
  """
2418
2419
  operation_limits: OperationLimits
2419
- payloads: Annotated[
2420
- Optional[Dict[str, Payload]], Field(title='PayloadDictionary')
2421
- ] = None
2420
+ payloads: Annotated[dict[str, Payload] | None, Field(title='PayloadDictionary')] = (
2421
+ None
2422
+ )
2422
2423
  """
2423
2424
  Maps a payload name to its configuration. Key must be a payload identifier.
2424
2425
  Values are payload objects.
2425
2426
 
2426
2427
  """
2427
- cycle_time: Optional[int] = None
2428
+ cycle_time: Annotated[int | None, Field(ge=0, le=2147483647)] = None
2428
2429
  """
2429
2430
  [ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.
2430
2431
  """
2431
- dh_parameters: Optional[List[DHParameter]] = None
2432
+ dh_parameters: list[DHParameter] | None = None
2432
2433
  """
2433
2434
  The DH parameters describing the motion group geometry, starting from base.
2434
2435
  """
2436
+ serial_number: str | None = None
2437
+ """
2438
+ The serial number of the motion group, if available. If not available, the serial number of the robot controller. If not available, empty.
2439
+
2440
+ """
2435
2441
 
2436
2442
 
2437
2443
  class Tool(RootModel):
@@ -2444,28 +2450,28 @@ class Tool(RootModel):
2444
2450
 
2445
2451
  """
2446
2452
 
2447
- root: Dict[str, Collider]
2453
+ root: dict[str, Collider]
2448
2454
 
2449
2455
 
2450
2456
  class CollisionSetup(BaseModel):
2451
- colliders: Optional[ColliderDictionary] = None
2457
+ colliders: ColliderDictionary | None = None
2452
2458
  """
2453
2459
  Colliders are checked against links and tool.
2454
2460
 
2455
2461
  """
2456
- link_chain: Optional[LinkChain] = None
2462
+ link_chain: LinkChain | None = None
2457
2463
  """
2458
2464
  The shape of the motion groups links to validate against colliders.
2459
2465
  Indexed along the kinematic chain, starting with a static base shape before first joint.
2460
2466
  The base of the motion group is not checked for collision against the environment.
2461
2467
 
2462
2468
  """
2463
- tool: Optional[Tool] = None
2469
+ tool: Tool | None = None
2464
2470
  """
2465
2471
  Shape of the tool to validate against colliders.
2466
2472
 
2467
2473
  """
2468
- self_collision_detection: Optional[bool] = True
2474
+ self_collision_detection: bool | None = True
2469
2475
  """
2470
2476
  If true, self-collision detection is enabled for the motion group.
2471
2477
 
@@ -2493,27 +2499,27 @@ class CollisionSetups(RootModel):
2493
2499
 
2494
2500
  """
2495
2501
 
2496
- root: Dict[str, CollisionSetup]
2502
+ root: dict[str, CollisionSetup]
2497
2503
 
2498
2504
 
2499
2505
  class MotionGroupSetup(BaseModel):
2500
2506
  motion_group_model: MotionGroupModel
2501
- cycle_time: int
2507
+ cycle_time: Annotated[int, Field(ge=0, le=2147483647)]
2502
2508
  """
2503
2509
  [ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.
2504
2510
  """
2505
- mounting: Optional[Pose] = None
2511
+ mounting: Pose | None = None
2506
2512
  """
2507
2513
  The offset from the world frame to the motion group base.
2508
2514
  """
2509
- tcp_offset: Optional[Pose] = None
2510
- global_limits: Optional[LimitSet] = None
2511
- payload: Optional[Payload] = None
2512
- collision_setups: Optional[CollisionSetups] = None
2515
+ tcp_offset: Pose | None = None
2516
+ global_limits: LimitSet | None = None
2517
+ payload: Payload | None = None
2518
+ collision_setups: CollisionSetups | None = None
2513
2519
 
2514
2520
 
2515
2521
  class DoubleArray(RootModel):
2516
- root: List[float]
2522
+ root: list[float]
2517
2523
 
2518
2524
  def __getitem__(self, index: int) -> float:
2519
2525
  """
@@ -2541,23 +2547,70 @@ class DoubleArray(RootModel):
2541
2547
 
2542
2548
 
2543
2549
  class BlendingAuto(BaseModel):
2544
- min_velocity_in_percent: Optional[int] = None
2550
+ min_velocity_in_percent: Annotated[int | None, Field(ge=0, le=100)] = None
2545
2551
  """
2546
- Auto-blending is used to keep a constant velocity when blending between two motion commands.
2552
+ Auto-blending is used to keep a constant velocity when blending between two motion commands. To use auto-blending, the TCP velocity limit must be set.
2547
2553
  It changes the TCP path around the target point of the motion command.
2548
- The value represents the percentage of the original velocity.
2554
+ The value represents the percentage of the original velocity. Auto-blending is always performed in cartesian space.
2549
2555
 
2550
2556
  """
2551
2557
  blending_name: Literal['BlendingAuto'] = 'BlendingAuto'
2552
2558
 
2553
2559
 
2560
+ class BlendingSpace(Enum):
2561
+ """
2562
+ Defines the space in which blending is performed.
2563
+ - `JOINT`: Zone blending is performed in joint space
2564
+ - `CARTESIAN`: Auto-blending is performed in cartesian space
2565
+
2566
+ """
2567
+
2568
+ JOINT = 'JOINT'
2569
+ CARTESIAN = 'CARTESIAN'
2570
+
2571
+
2554
2572
  class BlendingPosition(BaseModel):
2555
- position_zone_radius: Optional[float] = None
2573
+ position_zone_radius: float | None = None
2556
2574
  """
2557
2575
  Specifies the maximum radius in [mm] around the motion command's target point
2558
2576
  where the TCP path can be altered to blend the motion command into the following one.
2559
2577
  If auto-blending blends too much of the resulting trajectory, use position-blending to restrict the blending zone radius.
2560
2578
 
2579
+ """
2580
+ position_zone_percentage: Annotated[float | None, Field(ge=0.0, le=100.0)] = None
2581
+ """
2582
+ Specifies the maximum blending percentage based on the trajectory length in position space
2583
+ around the motion command's target point. Percentage indicated in 0.0 - 100.0.
2584
+
2585
+ """
2586
+ orientation_zone_radius: float | None = None
2587
+ """
2588
+ Specifies the maximum radius in [rad] for orientation blending around the motion command's
2589
+ target orientation. At the target's orientation, the TCP orientation can be altered to blend into the following motion.
2590
+
2591
+ """
2592
+ orientation_zone_percentage: Annotated[float | None, Field(ge=0.0, le=100.0)] = None
2593
+ """
2594
+ Specifies the maximum blending percentage for orientation blending
2595
+ based on the trajectory length in orientation space. Percentage indicated in 0.0 - 100.0.
2596
+
2597
+ """
2598
+ joints_zone_radius: float | None = None
2599
+ """
2600
+ Specifies the maximum radius in [rad] for joint space blending around the motion command's
2601
+ target joint configuration. At the target joint configuration, the joint path can be altered to blend into the following motion.
2602
+
2603
+ """
2604
+ joints_zone_percentage: Annotated[float | None, Field(ge=0.0, le=100.0)] = None
2605
+ """
2606
+ Specifies the maximum blending percentage for joint space blending
2607
+ based on the trajectory length in joint space. Percentage indicated in 0.0 to 100.0.
2608
+
2609
+ """
2610
+ space: BlendingSpace | None = None
2611
+ """
2612
+ Defines the space in which blending is performed.
2613
+
2561
2614
  """
2562
2615
  blending_name: Literal['BlendingPosition'] = 'BlendingPosition'
2563
2616
 
@@ -2568,34 +2621,34 @@ class LimitsOverride(BaseModel):
2568
2621
 
2569
2622
  """
2570
2623
 
2571
- joint_velocity_limits: Optional[List[float]] = None
2624
+ joint_velocity_limits: list[float] | None = None
2572
2625
  """
2573
2626
  Maximum joint velocity in [rad/s] for each joint.
2574
2627
  Either leave this field empty or set a value for each joint.
2575
2628
 
2576
2629
  """
2577
- joint_acceleration_limits: Optional[List[float]] = None
2630
+ joint_acceleration_limits: list[float] | None = None
2578
2631
  """
2579
2632
  Maximum joint acceleration in [rad/s^2] for each joint.
2580
2633
  Either leave this field empty or set a value for each joint.
2581
2634
 
2582
2635
  """
2583
- tcp_velocity_limit: Optional[float] = None
2636
+ tcp_velocity_limit: float | None = None
2584
2637
  """
2585
2638
  Maximum allowed TCP velocity in [mm/s].
2586
2639
 
2587
2640
  """
2588
- tcp_acceleration_limit: Optional[float] = None
2641
+ tcp_acceleration_limit: float | None = None
2589
2642
  """
2590
2643
  Maximum allowed TCP acceleration in [mm/s^2].
2591
2644
 
2592
2645
  """
2593
- tcp_orientation_velocity_limit: Optional[float] = None
2646
+ tcp_orientation_velocity_limit: float | None = None
2594
2647
  """
2595
2648
  Maximum allowed TCP rotation velocity in [rad/s].
2596
2649
 
2597
2650
  """
2598
- tcp_orientation_acceleration_limit: Optional[float] = None
2651
+ tcp_orientation_acceleration_limit: float | None = None
2599
2652
  """
2600
2653
  Maximum allowed TCP rotation acceleration in [rad/s^2].
2601
2654
 
@@ -2626,7 +2679,7 @@ class PathCubicSpline(BaseModel):
2626
2679
 
2627
2680
  """
2628
2681
 
2629
- parameters: List[CubicSplineParameter]
2682
+ parameters: list[CubicSplineParameter]
2630
2683
  path_definition_name: Literal['PathCubicSpline'] = 'PathCubicSpline'
2631
2684
 
2632
2685
 
@@ -2667,21 +2720,20 @@ class PathJointPTP(BaseModel):
2667
2720
 
2668
2721
  class MotionCommand(BaseModel):
2669
2722
  blending: Annotated[
2670
- Optional[Union[BlendingAuto, BlendingPosition]],
2671
- Field(discriminator='blending_name'),
2723
+ BlendingAuto | BlendingPosition | None, Field(discriminator='blending_name')
2672
2724
  ] = None
2673
2725
  """
2674
2726
  Blending alters the TCP path at the target point of a motion command
2675
2727
  to ensure that the velocity does not drop to zero between two motion commands.
2676
2728
 
2677
2729
  """
2678
- limits_override: Optional[LimitsOverride] = None
2730
+ limits_override: LimitsOverride | None = None
2679
2731
  """
2680
2732
  Limits override is used to override the global limits of the motion group for this segment of the motion.
2681
2733
 
2682
2734
  """
2683
2735
  path: Annotated[
2684
- Union[PathCartesianPTP, PathCubicSpline, PathLine, PathCircle, PathJointPTP],
2736
+ PathCartesianPTP | PathCubicSpline | PathLine | PathCircle | PathJointPTP,
2685
2737
  Field(discriminator='path_definition_name'),
2686
2738
  ]
2687
2739
 
@@ -2700,7 +2752,7 @@ class PlanTrajectoryRequest(BaseModel):
2700
2752
  To move the robot to the start joint position use the endpoint [streamMoveToTrajectoryViaJointP2P](streamMoveToTrajectoryViaJointP2P).
2701
2753
 
2702
2754
  """
2703
- motion_commands: List[MotionCommand]
2755
+ motion_commands: list[MotionCommand]
2704
2756
  """
2705
2757
  List of motion commands. A command consists of a path definition (line, circle, joint_ptp, cartesian_ptp, cubic_spline), blending, and limits override.
2706
2758
 
@@ -2708,17 +2760,17 @@ class PlanTrajectoryRequest(BaseModel):
2708
2760
 
2709
2761
 
2710
2762
  class JointTrajectory(BaseModel):
2711
- joint_positions: List[Joints]
2763
+ joint_positions: list[Joints]
2712
2764
  """
2713
2765
  List of joint positions [rad] for each sample.
2714
2766
  The number of samples must match the number of timestamps provided in the times field.
2715
2767
 
2716
2768
  """
2717
- times: List[float]
2769
+ times: list[float]
2718
2770
  """
2719
2771
  Timestamp for each sample [s].
2720
2772
  """
2721
- locations: List[Location]
2773
+ locations: list[Location]
2722
2774
 
2723
2775
 
2724
2776
  class FeedbackOutOfWorkspace(BaseModel):
@@ -2726,7 +2778,7 @@ class FeedbackOutOfWorkspace(BaseModel):
2726
2778
  Requested TCP pose is outside of motion group's workspace.
2727
2779
  """
2728
2780
 
2729
- invalid_tcp_pose: Optional[Pose] = None
2781
+ invalid_tcp_pose: Pose | None = None
2730
2782
  error_feedback_name: Literal['FeedbackOutOfWorkspace'] = 'FeedbackOutOfWorkspace'
2731
2783
 
2732
2784
 
@@ -2747,8 +2799,8 @@ class FeedbackSingularity(BaseModel):
2747
2799
 
2748
2800
  """
2749
2801
 
2750
- singularity_type: Optional[SingularityTypeEnum] = None
2751
- singular_joint_position: Optional[DoubleArray] = None
2802
+ singularity_type: SingularityTypeEnum | None = None
2803
+ singular_joint_position: DoubleArray | None = None
2752
2804
  error_feedback_name: Literal['FeedbackSingularity'] = 'FeedbackSingularity'
2753
2805
 
2754
2806
 
@@ -2759,46 +2811,44 @@ class FeedbackJointLimitExceeded(BaseModel):
2759
2811
 
2760
2812
  """
2761
2813
 
2762
- joint_index: Optional[int] = None
2763
- joint_position: Optional[DoubleArray] = None
2814
+ joint_index: Annotated[int | None, Field(ge=0, le=2147483647)] = None
2815
+ joint_position: DoubleArray | None = None
2764
2816
  error_feedback_name: Literal['FeedbackJointLimitExceeded'] = (
2765
2817
  'FeedbackJointLimitExceeded'
2766
2818
  )
2767
2819
 
2768
2820
 
2769
2821
  class CollisionContact(BaseModel):
2770
- local: Optional[Vector3d] = None
2771
- root: Optional[Vector3d] = None
2822
+ local: Vector3d | None = None
2823
+ root: Vector3d | None = None
2772
2824
 
2773
2825
 
2774
2826
  class Collision(BaseModel):
2775
- id_of_a: Optional[str] = None
2776
- id_of_b: Optional[str] = None
2777
- id_of_layer: Optional[str] = None
2778
- normal_root_on_b: Optional[Vector3d] = None
2779
- position_on_a: Optional[CollisionContact] = None
2780
- position_on_b: Optional[CollisionContact] = None
2827
+ id_of_a: str | None = None
2828
+ id_of_b: str | None = None
2829
+ id_of_layer: str | None = None
2830
+ normal_root_on_b: Vector3d | None = None
2831
+ position_on_a: CollisionContact | None = None
2832
+ position_on_b: CollisionContact | None = None
2781
2833
 
2782
2834
 
2783
2835
  class FeedbackCollision(BaseModel):
2784
- collisions: Optional[List[Collision]] = None
2785
- joint_position: Optional[DoubleArray] = None
2786
- tcp_pose: Optional[Pose] = None
2836
+ collisions: list[Collision] | None = None
2837
+ joint_position: DoubleArray | None = None
2838
+ tcp_pose: Pose | None = None
2787
2839
  error_feedback_name: Literal['FeedbackCollision'] = 'FeedbackCollision'
2788
2840
 
2789
2841
 
2790
2842
  class PlanTrajectoryFailedResponse(BaseModel):
2791
2843
  error_feedback: Annotated[
2792
- Union[
2793
- FeedbackOutOfWorkspace,
2794
- FeedbackSingularity,
2795
- FeedbackJointLimitExceeded,
2796
- FeedbackCollision,
2797
- ],
2844
+ FeedbackOutOfWorkspace
2845
+ | FeedbackSingularity
2846
+ | FeedbackJointLimitExceeded
2847
+ | FeedbackCollision,
2798
2848
  Field(discriminator='error_feedback_name'),
2799
2849
  ]
2800
2850
  error_location_on_trajectory: Location
2801
- joint_trajectory: Optional[JointTrajectory] = None
2851
+ joint_trajectory: JointTrajectory | None = None
2802
2852
  """
2803
2853
  The joint trajectory from the start joint position to the error.
2804
2854
 
@@ -2806,14 +2856,14 @@ class PlanTrajectoryFailedResponse(BaseModel):
2806
2856
 
2807
2857
 
2808
2858
  class PlanTrajectoryResponse(BaseModel):
2809
- response: Union[JointTrajectory, PlanTrajectoryFailedResponse]
2859
+ response: JointTrajectory | PlanTrajectoryFailedResponse
2810
2860
 
2811
2861
 
2812
2862
  class ValidationError(BaseModel):
2813
- loc: Annotated[List[Union[str, int]], Field(title='Location')]
2863
+ loc: Annotated[list[str | int], Field(title='Location')]
2814
2864
  msg: Annotated[str, Field(title='Message')]
2815
2865
  type: Annotated[str, Field(title='Error Type')]
2816
- input: Dict[str, Any]
2866
+ input: dict[str, Any]
2817
2867
 
2818
2868
 
2819
2869
  class ErrorInvalidJointCount(BaseModel):
@@ -2842,12 +2892,12 @@ class ErrorJointLimitExceeded(BaseModel):
2842
2892
 
2843
2893
  """
2844
2894
 
2845
- joint_index: Optional[int] = None
2895
+ joint_index: Annotated[int | None, Field(ge=0, le=2147483647)] = None
2846
2896
  """
2847
2897
  Index of the joint exceeding its limits (0-based).
2848
2898
 
2849
2899
  """
2850
- joint_position: Optional[DoubleArray] = None
2900
+ joint_position: DoubleArray | None = None
2851
2901
  """
2852
2902
  The joint position violating the limits.
2853
2903
 
@@ -2861,8 +2911,8 @@ class ErrorJointPositionCollision(BaseModel):
2861
2911
 
2862
2912
  """
2863
2913
 
2864
- collisions: Optional[List[Collision]] = None
2865
- joint_position: Optional[DoubleArray] = None
2914
+ collisions: list[Collision] | None = None
2915
+ joint_position: DoubleArray | None = None
2866
2916
  """
2867
2917
  The joint position that collides.
2868
2918
 
@@ -2874,13 +2924,10 @@ class ErrorJointPositionCollision(BaseModel):
2874
2924
 
2875
2925
  class PlanValidationError(ValidationError):
2876
2926
  data: Annotated[
2877
- Optional[
2878
- Union[
2879
- ErrorInvalidJointCount,
2880
- ErrorJointLimitExceeded,
2881
- ErrorJointPositionCollision,
2882
- ]
2883
- ],
2927
+ ErrorInvalidJointCount
2928
+ | ErrorJointLimitExceeded
2929
+ | ErrorJointPositionCollision
2930
+ | None,
2884
2931
  Field(discriminator='error_feedback_name'),
2885
2932
  ] = None
2886
2933
  """
@@ -2890,7 +2937,7 @@ class PlanValidationError(ValidationError):
2890
2937
 
2891
2938
 
2892
2939
  class Plan422Response(BaseModel):
2893
- detail: Annotated[Optional[List[PlanValidationError]], Field(title='Detail')] = None
2940
+ detail: Annotated[list[PlanValidationError] | None, Field(title='Detail')] = None
2894
2941
 
2895
2942
 
2896
2943
  class RRTConnectAlgorithm(BaseModel):
@@ -2905,25 +2952,25 @@ class RRTConnectAlgorithm(BaseModel):
2905
2952
  This is a custom implementation optimized for manipulator kinematics and collision checking in industrial contexts.
2906
2953
 
2907
2954
  """
2908
- max_iterations: Annotated[Optional[int], Field(ge=1)] = 10000
2955
+ max_iterations: Annotated[int | None, Field(ge=1)] = 10000
2909
2956
  """
2910
2957
  Maximum number of iterations for the RRT Connect algorithm.
2911
2958
  Higher values increase likelihood of success, but also computation time.
2912
2959
 
2913
2960
  """
2914
- max_step_size: Optional[float] = 1
2961
+ max_step_size: float | None = 1
2915
2962
  """
2916
2963
  Maximum step size for tree extension in joint space.
2917
2964
  """
2918
- adaptive_step_size: Optional[bool] = True
2965
+ adaptive_step_size: bool | None = True
2919
2966
  """
2920
2967
  Adjust the maximum step size during the search based on the recent success rate of tree expansion.
2921
2968
  """
2922
- apply_smoothing: Optional[bool] = True
2969
+ apply_smoothing: bool | None = True
2923
2970
  """
2924
2971
  Apply smoothing after the search has succeeded. This will remove as many intermediate points as possible while keeping the path valid.
2925
2972
  """
2926
- apply_blending: Optional[bool] = True
2973
+ apply_blending: bool | None = True
2927
2974
  """
2928
2975
  Apply blending after the search has succeeded and smoothing has been applied. This will apply the largest viable blending at each intermediate point.
2929
2976
  """
@@ -2938,7 +2985,7 @@ class MidpointInsertionAlgorithm(BaseModel):
2938
2985
  This algorithm adds a single midpoint between the start and target joint position to find collision-free paths.
2939
2986
 
2940
2987
  """
2941
- max_iterations: Annotated[Optional[int], Field(ge=1)] = 1000
2988
+ max_iterations: Annotated[int | None, Field(ge=1)] = 1000
2942
2989
  """
2943
2990
  Maximum number of iterations for the midpoint insertion algorithm.
2944
2991
  Higher values increase likelyhood of success, but also computation time (linear).
@@ -2948,13 +2995,17 @@ class MidpointInsertionAlgorithm(BaseModel):
2948
2995
 
2949
2996
  class CollisionFreeAlgorithm(RootModel):
2950
2997
  root: Annotated[
2951
- Union[RRTConnectAlgorithm, MidpointInsertionAlgorithm],
2998
+ RRTConnectAlgorithm | MidpointInsertionAlgorithm,
2952
2999
  Field(discriminator='algorithm_name', title='CollisionFreeAlgorithm'),
2953
3000
  ]
2954
3001
  """
2955
3002
  Configuration for collision-free path planning algorithms.
2956
3003
  Different algorithms may have different parameters and behavior.
2957
3004
 
3005
+ Recommendation:
3006
+ - For **cells with many obstacles**, use the RRTConnect algorithm. Use it as a starting point.
3007
+ - For **simple cells with very few obstacles** and when a faster solution is needed, try the MidpointInsertion algorithm.
3008
+
2958
3009
  """
2959
3010
 
2960
3011
 
@@ -2969,10 +3020,6 @@ class PlanCollisionFreeRequest(BaseModel):
2969
3020
  Must contain exactly the same number of values as joints in the motion group.
2970
3021
  To retrieve the current joint position use the endpoint [getCurrentMotionGroupState](getCurrentMotionGroupState).
2971
3022
 
2972
- Recommendations:
2973
- - For **cells with many obstacles**, use the RRTConnect algorithm. Recommended for most cases. Use it as a starting point.
2974
- - For **simple cells with few obstacles** and when a faster solution is needed, try the MidpointInsertion algorithm.
2975
-
2976
3023
  """
2977
3024
  target: DoubleArray
2978
3025
  """
@@ -2992,7 +3039,7 @@ class ErrorMaxIterationsExceeded(BaseModel):
2992
3039
 
2993
3040
  """
2994
3041
 
2995
- max_iterations: Optional[int] = None
3042
+ max_iterations: int | None = None
2996
3043
  """
2997
3044
  The maximum number of iterations that was reached.
2998
3045
 
@@ -3019,7 +3066,7 @@ class PlanCollisionFreeResponse(BaseModel):
3019
3066
 
3020
3067
  """
3021
3068
 
3022
- response: Union[JointTrajectory, PlanCollisionFreeFailedResponse]
3069
+ response: JointTrajectory | PlanCollisionFreeFailedResponse
3023
3070
 
3024
3071
 
3025
3072
  class JointPositionLimits(RootModel):
@@ -3028,7 +3075,7 @@ class JointPositionLimits(RootModel):
3028
3075
 
3029
3076
  """
3030
3077
 
3031
- root: Annotated[List[LimitRange], Field(title='JointPositionLimits')]
3078
+ root: Annotated[list[LimitRange], Field(title='JointPositionLimits')]
3032
3079
  """
3033
3080
  Joint position limits in [rad], indexed starting from base.
3034
3081
 
@@ -3061,27 +3108,27 @@ class JointPositionLimits(RootModel):
3061
3108
 
3062
3109
  class InverseKinematicsRequest(BaseModel):
3063
3110
  motion_group_model: MotionGroupModel
3064
- tcp_poses: List[Pose]
3111
+ tcp_poses: list[Pose]
3065
3112
  """
3066
3113
  List of TCP poses for which the inverse solutions are computed.
3067
3114
 
3068
3115
  """
3069
- tcp_offset: Optional[Pose] = None
3070
- mounting: Optional[Pose] = None
3116
+ tcp_offset: Pose | None = None
3117
+ mounting: Pose | None = None
3071
3118
  """
3072
3119
  Offset from the world frame to the motion group base.
3073
3120
  """
3074
- joint_position_limits: Optional[JointPositionLimits] = None
3075
- collision_setups: Optional[CollisionSetups] = None
3121
+ joint_position_limits: JointPositionLimits | None = None
3122
+ collision_setups: CollisionSetups | None = None
3076
3123
 
3077
3124
 
3078
3125
  class InverseKinematicsResponse(BaseModel):
3079
- joints: List[List[DoubleArray]]
3126
+ joints: list[list[DoubleArray]]
3080
3127
 
3081
3128
 
3082
3129
  class InverseKinematicsValidationError(ValidationError):
3083
3130
  data: Annotated[
3084
- Optional[Union[ErrorInvalidJointCount, ErrorJointLimitExceeded]],
3131
+ ErrorInvalidJointCount | ErrorJointLimitExceeded | None,
3085
3132
  Field(discriminator='error_feedback_name'),
3086
3133
  ] = None
3087
3134
  """
@@ -3092,26 +3139,26 @@ class InverseKinematicsValidationError(ValidationError):
3092
3139
 
3093
3140
  class InverseKinematics422Response(BaseModel):
3094
3141
  detail: Annotated[
3095
- Optional[List[InverseKinematicsValidationError]], Field(title='Detail')
3142
+ list[InverseKinematicsValidationError] | None, Field(title='Detail')
3096
3143
  ] = None
3097
3144
 
3098
3145
 
3099
3146
  class ForwardKinematicsRequest(BaseModel):
3100
3147
  motion_group_model: MotionGroupModel
3101
- joint_positions: List[DoubleArray]
3148
+ joint_positions: list[DoubleArray]
3102
3149
  """
3103
3150
  List of joint positions [rad] for which TCP poses are computed.
3104
3151
 
3105
3152
  """
3106
- tcp_offset: Optional[Pose] = None
3107
- mounting: Optional[Pose] = None
3153
+ tcp_offset: Pose | None = None
3154
+ mounting: Pose | None = None
3108
3155
  """
3109
3156
  Offset from the world frame to the motion group base.
3110
3157
  """
3111
3158
 
3112
3159
 
3113
3160
  class ForwardKinematicsResponse(BaseModel):
3114
- tcp_poses: List[Pose]
3161
+ tcp_poses: list[Pose]
3115
3162
  """
3116
3163
  List of computed TCP poses corresponding to the input joint positions.
3117
3164
 
@@ -3119,17 +3166,17 @@ class ForwardKinematicsResponse(BaseModel):
3119
3166
 
3120
3167
 
3121
3168
  class ForwardKinematicsValidationError(ValidationError):
3122
- data: Optional[ErrorInvalidJointCount] = None
3169
+ data: ErrorInvalidJointCount | None = None
3123
3170
 
3124
3171
 
3125
3172
  class ForwardKinematics422Response(BaseModel):
3126
3173
  detail: Annotated[
3127
- Optional[List[ForwardKinematicsValidationError]], Field(title='Detail')
3174
+ list[ForwardKinematicsValidationError] | None, Field(title='Detail')
3128
3175
  ] = None
3129
3176
 
3130
3177
 
3131
3178
  class ListTrajectoriesResponse(BaseModel):
3132
- trajectories: Optional[List[str]] = None
3179
+ trajectories: list[str] | None = None
3133
3180
  """
3134
3181
  Identifiers of trajectories which are currently cached.
3135
3182
  Use [addTrajectory](addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them.
@@ -3149,7 +3196,7 @@ class AddTrajectoryRequest(BaseModel):
3149
3196
  an equal number of corresponding timestamps.
3150
3197
 
3151
3198
  """
3152
- tcp: Optional[str] = None
3199
+ tcp: str | None = None
3153
3200
  """
3154
3201
  Unique identifier of the tool the trajectory is planned for.
3155
3202
  """
@@ -3160,13 +3207,13 @@ class TcpRequiredError(BaseModel):
3160
3207
  Requested motion group requires TCP to be defined.
3161
3208
  """
3162
3209
 
3163
- tcp_missing: Optional[Dict[str, Any]] = None
3210
+ tcp_missing: dict[str, Any] | None = None
3164
3211
 
3165
3212
 
3166
3213
  class InconsistentTrajectorySize(BaseModel):
3167
- joint_position_size: Optional[int] = None
3168
- times_size: Optional[int] = None
3169
- locations_size: Optional[int] = None
3214
+ joint_position_size: int | None = None
3215
+ times_size: int | None = None
3216
+ locations_size: int | None = None
3170
3217
 
3171
3218
 
3172
3219
  class InconsistentTrajectorySizeError(BaseModel):
@@ -3175,24 +3222,24 @@ class InconsistentTrajectorySizeError(BaseModel):
3175
3222
 
3176
3223
  """
3177
3224
 
3178
- inconsistent_trajectory_size: Optional[InconsistentTrajectorySize] = None
3225
+ inconsistent_trajectory_size: InconsistentTrajectorySize | None = None
3179
3226
 
3180
3227
 
3181
3228
  class JointLimitExceededError(BaseModel):
3182
- joint_limit_exceeded: Optional[FeedbackJointLimitExceeded] = None
3229
+ joint_limit_exceeded: FeedbackJointLimitExceeded | None = None
3183
3230
 
3184
3231
 
3185
3232
  class CollisionError(BaseModel):
3186
- collision: Optional[FeedbackCollision] = None
3233
+ collision: FeedbackCollision | None = None
3187
3234
 
3188
3235
 
3189
3236
  class TorqueExceeded(BaseModel):
3190
- torque_value: Optional[float] = None
3237
+ torque_value: float | None = None
3191
3238
  """
3192
3239
  The torque value that was exceeded.
3193
3240
 
3194
3241
  """
3195
- torque_limit: Optional[float] = None
3242
+ torque_limit: float | None = None
3196
3243
  """
3197
3244
  The value of the torque limit that was exceeded.
3198
3245
 
@@ -3200,23 +3247,23 @@ class TorqueExceeded(BaseModel):
3200
3247
 
3201
3248
 
3202
3249
  class TorqueExceededError(BaseModel):
3203
- torque_exceeded: Optional[TorqueExceeded] = None
3250
+ torque_exceeded: TorqueExceeded | None = None
3204
3251
 
3205
3252
 
3206
3253
  class InvalidDof(BaseModel):
3207
- valid_dof: Optional[int] = None
3254
+ valid_dof: int | None = None
3208
3255
  """
3209
3256
  The valid degrees of freedom for the motion group.
3210
3257
 
3211
3258
  """
3212
- joint_position: Optional[List[float]] = None
3259
+ joint_position: list[float] | None = None
3213
3260
  """
3214
3261
  The joint position that is out of its limits.
3215
3262
  """
3216
3263
 
3217
3264
 
3218
3265
  class InvalidDofError(BaseModel):
3219
- invalid_dof: Optional[InvalidDof] = None
3266
+ invalid_dof: InvalidDof | None = None
3220
3267
 
3221
3268
 
3222
3269
  class NanValue(BaseModel):
@@ -3224,33 +3271,32 @@ class NanValue(BaseModel):
3224
3271
  Requested joint position contains NaN values.
3225
3272
  """
3226
3273
 
3227
- joint_position: Optional[List[float]] = None
3274
+ joint_position: list[float] | None = None
3228
3275
  """
3229
3276
  The joint position that is out of its limits.
3230
3277
  """
3231
3278
 
3232
3279
 
3233
3280
  class NanValueError(BaseModel):
3234
- nan_value: Optional[NanValue] = None
3281
+ nan_value: NanValue | None = None
3235
3282
  """
3236
3283
  Requested joint position contains NaN values.
3237
3284
  """
3238
3285
 
3239
3286
 
3240
3287
  class AddTrajectoryError(BaseModel):
3241
- message: Optional[str] = None
3242
- location: Optional[Location] = None
3243
- data: Optional[
3244
- Union[
3245
- TcpRequiredError,
3246
- InconsistentTrajectorySizeError,
3247
- JointLimitExceededError,
3248
- CollisionError,
3249
- TorqueExceededError,
3250
- InvalidDofError,
3251
- NanValueError,
3252
- ]
3253
- ] = None
3288
+ message: str | None = None
3289
+ location: Location | None = None
3290
+ data: (
3291
+ TcpRequiredError
3292
+ | InconsistentTrajectorySizeError
3293
+ | JointLimitExceededError
3294
+ | CollisionError
3295
+ | TorqueExceededError
3296
+ | InvalidDofError
3297
+ | NanValueError
3298
+ | None
3299
+ ) = None
3254
3300
 
3255
3301
 
3256
3302
  class AddTrajectoryResponse(BaseModel):
@@ -3265,12 +3311,12 @@ class AddTrajectoryResponse(BaseModel):
3265
3311
 
3266
3312
  """
3267
3313
 
3268
- trajectory: Optional[str] = None
3314
+ trajectory: str | None = None
3269
3315
  """
3270
3316
  The unique identifier of the trajectory. Use this identifier to execute the trajectory with the [executeTrajectory](executeTrajectory) endpoint.
3271
3317
 
3272
3318
  """
3273
- error: Optional[AddTrajectoryError] = None
3319
+ error: AddTrajectoryError | None = None
3274
3320
  """
3275
3321
  Always check this field first. If this field is present, the trajectory has an error and is only partially or not executable.
3276
3322
 
@@ -3313,7 +3359,7 @@ class TrajectoryData(BaseModel):
3313
3359
  Type specifier for server, set automatically.
3314
3360
 
3315
3361
  """
3316
- motion_group: Optional[str] = None
3362
+ motion_group: str | None = None
3317
3363
  """
3318
3364
  Identifier of the motion-group.
3319
3365
  """
@@ -3323,7 +3369,7 @@ class TrajectoryData(BaseModel):
3323
3369
  an equal number of corresponding timestamps.
3324
3370
 
3325
3371
  """
3326
- tcp: Optional[str] = None
3372
+ tcp: str | None = None
3327
3373
  """
3328
3374
  Unique identifier of the tool the trajectory is planned for.
3329
3375
  """
@@ -3343,14 +3389,14 @@ class InitializeMovementRequest(BaseModel):
3343
3389
 
3344
3390
  """
3345
3391
  trajectory: Annotated[
3346
- Union[TrajectoryId, TrajectoryData], Field(discriminator='message_type')
3392
+ TrajectoryId | TrajectoryData, Field(discriminator='message_type')
3347
3393
  ]
3348
3394
  """
3349
3395
  The trajectory which should be executed and locked to the connection.
3350
3396
 
3351
3397
  """
3352
- initial_location: Optional[Location] = None
3353
- response_coordinate_system: Optional[str] = None
3398
+ initial_location: Location | None = None
3399
+ response_coordinate_system: str | None = None
3354
3400
  """
3355
3401
  Unique identifier addressing a coordinate system to which the responses are transformed.
3356
3402
  If not set, world coordinate system is used.
@@ -3438,26 +3484,26 @@ class StartMovementRequest(BaseModel):
3438
3484
  Type specifier for server, set automatically.
3439
3485
 
3440
3486
  """
3441
- direction: Optional[Direction] = 'DIRECTION_FORWARD'
3442
- target_location: Optional[Location] = None
3487
+ direction: Direction | None = 'DIRECTION_FORWARD'
3488
+ target_location: Location | None = None
3443
3489
  """
3444
3490
  The target location to which the motion group moves along the trajectory to.
3445
3491
  If `direction` and `target_location` are both specified, target location takes precedence.
3446
3492
  If neither is specified, the default is `DIRECTION_FORWARD`.
3447
3493
 
3448
3494
  """
3449
- set_outputs: Optional[List[SetIO]] = None
3495
+ set_outputs: list[SetIO] | None = None
3450
3496
  """
3451
3497
  Attaches a list of output commands to the trajectory. The outputs are set to the specified values right after the specified location was reached.
3452
3498
  If the specified location is located before the start location (forward direction: value is smaller, backward direction: value is bigger), the output is not set.
3453
3499
 
3454
3500
  """
3455
- start_on_io: Optional[StartOnIO] = None
3501
+ start_on_io: StartOnIO | None = None
3456
3502
  """
3457
3503
  Defines an input/output that is listened to before the movement. Execution starts if the defined comparator evaluates to `true`.
3458
3504
 
3459
3505
  """
3460
- pause_on_io: Optional[PauseOnIO] = None
3506
+ pause_on_io: PauseOnIO | None = None
3461
3507
  """
3462
3508
  Defines an input/output that is listened to during the movement. Execution pauses if the defined comparator evaluates to `true`.
3463
3509
 
@@ -3489,7 +3535,7 @@ class PlaybackSpeedRequest(BaseModel):
3489
3535
  Type specifier for server, set automatically.
3490
3536
 
3491
3537
  """
3492
- playback_speed_in_percent: int
3538
+ playback_speed_in_percent: Annotated[int, Field(ge=0, le=100)]
3493
3539
  """
3494
3540
  Sets velocity for executed movements of the trajectory, in percent. 100% means that the motion group moves as
3495
3541
  fast as possible without violating any planning and motion group limits. Setting this value does not affect the overall shape of the velocity profile.
@@ -3501,12 +3547,10 @@ class PlaybackSpeedRequest(BaseModel):
3501
3547
 
3502
3548
  class ExecuteTrajectoryRequest(RootModel):
3503
3549
  root: Annotated[
3504
- Union[
3505
- InitializeMovementRequest,
3506
- StartMovementRequest,
3507
- PauseMovementRequest,
3508
- PlaybackSpeedRequest,
3509
- ],
3550
+ InitializeMovementRequest
3551
+ | StartMovementRequest
3552
+ | PauseMovementRequest
3553
+ | PlaybackSpeedRequest,
3510
3554
  Field(discriminator='message_type', title='ExecuteTrajectoryRequest'),
3511
3555
  ]
3512
3556
 
@@ -3517,11 +3561,11 @@ class InitializeMovementResponse(BaseModel):
3517
3561
 
3518
3562
  """
3519
3563
 
3520
- message: Optional[str] = None
3564
+ message: str | None = None
3521
3565
  """
3522
3566
  Error message in case of invalid InitializeMovementRequest.
3523
3567
  """
3524
- add_trajectory_error: Optional[AddTrajectoryError] = None
3568
+ add_trajectory_error: AddTrajectoryError | None = None
3525
3569
  """
3526
3570
  Error can occur if joint trajectory was added by [InitializeMovementRequest](InitializeMovementRequest) and the trajectory is invalid.
3527
3571
 
@@ -3537,7 +3581,7 @@ class StartMovementResponse(BaseModel):
3537
3581
 
3538
3582
  """
3539
3583
 
3540
- message: Optional[str] = None
3584
+ message: str | None = None
3541
3585
  """
3542
3586
  Error message in case of invalid StartMovementResquest.
3543
3587
  """
@@ -3552,7 +3596,7 @@ class PauseMovementResponse(BaseModel):
3552
3596
 
3553
3597
  """
3554
3598
 
3555
- message: Optional[str] = None
3599
+ message: str | None = None
3556
3600
  """
3557
3601
  Error message in case of invalid PauseMovementResquest.
3558
3602
  """
@@ -3565,7 +3609,7 @@ class PlaybackSpeedResponse(BaseModel):
3565
3609
 
3566
3610
  """
3567
3611
 
3568
- message: Optional[str] = None
3612
+ message: str | None = None
3569
3613
  """
3570
3614
  Error message in case of invalid PlaybackSpeedRequest.
3571
3615
  """
@@ -3587,13 +3631,11 @@ class MovementErrorResponse(BaseModel):
3587
3631
 
3588
3632
  class ExecuteTrajectoryResponse(RootModel):
3589
3633
  root: Annotated[
3590
- Union[
3591
- InitializeMovementResponse,
3592
- StartMovementResponse,
3593
- PauseMovementResponse,
3594
- PlaybackSpeedResponse,
3595
- MovementErrorResponse,
3596
- ],
3634
+ InitializeMovementResponse
3635
+ | StartMovementResponse
3636
+ | PauseMovementResponse
3637
+ | PlaybackSpeedResponse
3638
+ | MovementErrorResponse,
3597
3639
  Field(discriminator='kind', title='ExecuteTrajectoryResponse'),
3598
3640
  ]
3599
3641
 
@@ -3612,12 +3654,12 @@ class InitializeJoggingRequest(BaseModel):
3612
3654
  """
3613
3655
  Identifier of the motion group.
3614
3656
  """
3615
- tcp: Optional[str] = None
3657
+ tcp: str | None = None
3616
3658
  """
3617
3659
  Identifier of the tool. Required for robots (all limits, including TCP limits, are respected at all times regardless of the motion). Not required for external axes.
3618
3660
 
3619
3661
  """
3620
- response_coordinate_system: Optional[str] = None
3662
+ response_coordinate_system: str | None = None
3621
3663
  """
3622
3664
  Unique identifier addressing a coordinate system to which the responses are transformed.
3623
3665
  If not set, world coordinate system is used.
@@ -3655,7 +3697,7 @@ class TcpVelocityRequest(BaseModel):
3655
3697
  """
3656
3698
  translation: Vector3d
3657
3699
  rotation: Vector3d
3658
- use_tool_coordinate_system: Optional[bool] = False
3700
+ use_tool_coordinate_system: bool | None = False
3659
3701
  """
3660
3702
  If true, TCP velocities are interpreted in the tool coordinate system, specified by the TCP.
3661
3703
  If false, TCP velocities are interpreted in the world coordinate system.
@@ -3678,12 +3720,10 @@ class PauseJoggingRequest(BaseModel):
3678
3720
 
3679
3721
  class ExecuteJoggingRequest(RootModel):
3680
3722
  root: Annotated[
3681
- Union[
3682
- InitializeJoggingRequest,
3683
- JointVelocityRequest,
3684
- TcpVelocityRequest,
3685
- PauseJoggingRequest,
3686
- ],
3723
+ InitializeJoggingRequest
3724
+ | JointVelocityRequest
3725
+ | TcpVelocityRequest
3726
+ | PauseJoggingRequest,
3687
3727
  Field(discriminator='message_type', title='ExecuteJoggingRequest'),
3688
3728
  ]
3689
3729
 
@@ -3694,7 +3734,7 @@ class InitializeJoggingResponse(BaseModel):
3694
3734
 
3695
3735
  """
3696
3736
 
3697
- message: Optional[str] = None
3737
+ message: str | None = None
3698
3738
  """
3699
3739
  Error message in case of invalid InitializeJoggingRequest.
3700
3740
  """
@@ -3707,7 +3747,7 @@ class PauseJoggingResponse(BaseModel):
3707
3747
 
3708
3748
  """
3709
3749
 
3710
- message: Optional[str] = None
3750
+ message: str | None = None
3711
3751
  """
3712
3752
  Error message in case of invalid PauseJoggingRequest.
3713
3753
  """
@@ -3720,7 +3760,7 @@ class TcpVelocityResponse(BaseModel):
3720
3760
 
3721
3761
  """
3722
3762
 
3723
- message: Optional[str] = None
3763
+ message: str | None = None
3724
3764
  """
3725
3765
  Error message in case of invalid TcpVelocityRequest.
3726
3766
  """
@@ -3733,7 +3773,7 @@ class JointVelocityResponse(BaseModel):
3733
3773
 
3734
3774
  """
3735
3775
 
3736
- message: Optional[str] = None
3776
+ message: str | None = None
3737
3777
  """
3738
3778
  Error message in case of invalid JointVelocityRequest.
3739
3779
  """
@@ -3742,13 +3782,11 @@ class JointVelocityResponse(BaseModel):
3742
3782
 
3743
3783
  class ExecuteJoggingResponse(RootModel):
3744
3784
  root: Annotated[
3745
- Union[
3746
- InitializeJoggingResponse,
3747
- PauseJoggingResponse,
3748
- TcpVelocityResponse,
3749
- JointVelocityResponse,
3750
- MovementErrorResponse,
3751
- ],
3785
+ InitializeJoggingResponse
3786
+ | PauseJoggingResponse
3787
+ | TcpVelocityResponse
3788
+ | JointVelocityResponse
3789
+ | MovementErrorResponse,
3752
3790
  Field(discriminator='kind', title='ExecuteJoggingResponse'),
3753
3791
  ]
3754
3792
 
@@ -3768,14 +3806,14 @@ class Program(BaseModel):
3768
3806
  title='Unique program identifier',
3769
3807
  ),
3770
3808
  ]
3771
- name: Annotated[Optional[str], Field(title='Program name')] = None
3772
- description: Annotated[Optional[str], Field(title='Program description')] = None
3809
+ name: Annotated[str | None, Field(title='Program name')] = None
3810
+ description: Annotated[str | None, Field(title='Program description')] = None
3773
3811
  app: Annotated[str, Field(title='The app containing the program.')]
3774
3812
  input_schema: Annotated[
3775
- Optional[Dict[str, Any]], Field(title='Program input json schema')
3813
+ dict[str, Any] | None, Field(title='Program input json schema')
3776
3814
  ] = None
3777
3815
  preconditions: Annotated[
3778
- Optional[Dict[str, Any]],
3816
+ dict[str, Any] | None,
3779
3817
  Field(title='Preconditions before the program can be started'),
3780
3818
  ] = None
3781
3819
 
@@ -3785,7 +3823,7 @@ class ProgramStartRequest(BaseModel):
3785
3823
  The state of a program run.
3786
3824
  """
3787
3825
 
3788
- arguments: Dict[str, Any]
3826
+ arguments: dict[str, Any]
3789
3827
  """
3790
3828
  The arguments to pass to the program.
3791
3829
  """
@@ -3816,7 +3854,7 @@ class ProgramRun(BaseModel):
3816
3854
  """
3817
3855
  Unique identifier of the program
3818
3856
  """
3819
- app: Annotated[Optional[str], Field(title='App Id')] = None
3857
+ app: Annotated[str | None, Field(title='App Id')] = None
3820
3858
  """
3821
3859
  Identifier of the app that produced the program run
3822
3860
  """
@@ -3824,35 +3862,35 @@ class ProgramRun(BaseModel):
3824
3862
  """
3825
3863
  State of the program run
3826
3864
  """
3827
- logs: Annotated[Optional[str], Field(title='Logs')] = None
3865
+ logs: Annotated[str | None, Field(title='Logs')] = None
3828
3866
  """
3829
3867
  Logs of the program run
3830
3868
  """
3831
- stdout: Annotated[Optional[str], Field(title='Stdout')] = None
3869
+ stdout: Annotated[str | None, Field(title='Stdout')] = None
3832
3870
  """
3833
3871
  Stdout of the program run
3834
3872
  """
3835
- stderr: Annotated[Optional[str], Field(title='Stderr')] = None
3873
+ stderr: Annotated[str | None, Field(title='Stderr')] = None
3836
3874
  """
3837
3875
  Stderr of the program run
3838
3876
  """
3839
- error: Annotated[Optional[str], Field(title='Error')] = None
3877
+ error: Annotated[str | None, Field(title='Error')] = None
3840
3878
  """
3841
3879
  Error message of the program run, if any
3842
3880
  """
3843
- traceback: Annotated[Optional[str], Field(title='Traceback')] = None
3881
+ traceback: Annotated[str | None, Field(title='Traceback')] = None
3844
3882
  """
3845
3883
  Traceback of the program run, if any
3846
3884
  """
3847
- start_time: Annotated[Optional[AwareDatetime], Field(title='Start Time')] = None
3885
+ start_time: Annotated[AwareDatetime | None, Field(title='Start Time')] = None
3848
3886
  """
3849
3887
  Start time of the program run in RFC3339 format
3850
3888
  """
3851
- end_time: Annotated[Optional[AwareDatetime], Field(title='End Time')] = None
3889
+ end_time: Annotated[AwareDatetime | None, Field(title='End Time')] = None
3852
3890
  """
3853
3891
  End time of the program run in RFC3339 format
3854
3892
  """
3855
- input_data: Annotated[Optional[Dict[str, Any]], Field(title='Input Data')] = None
3893
+ input_data: Annotated[dict[str, Any] | None, Field(title='Input Data')] = None
3856
3894
  """
3857
3895
  Input data of the program run
3858
3896
  """
@@ -3863,13 +3901,13 @@ class ValidationError2(BaseModel):
3863
3901
  A validation error of a program.
3864
3902
  """
3865
3903
 
3866
- loc: Annotated[List[int], Field(title='Location')]
3904
+ loc: Annotated[list[int], Field(title='Location')]
3867
3905
  msg: Annotated[str, Field(title='Message')]
3868
3906
  type: Annotated[str, Field(title='Error Type')]
3869
3907
 
3870
3908
 
3871
3909
  class HTTPValidationError(BaseModel):
3872
- detail: Annotated[Optional[List[ValidationError2]], Field(title='Detail')] = None
3910
+ detail: Annotated[list[ValidationError2] | None, Field(title='Detail')] = None
3873
3911
 
3874
3912
 
3875
3913
  class MotionGroupInfo(BaseModel):
@@ -3883,7 +3921,7 @@ class MotionGroupInfo(BaseModel):
3883
3921
  The name of the motion group for display purposes.
3884
3922
 
3885
3923
  """
3886
- dof: int
3924
+ dof: Annotated[int, Field(ge=0, le=2147483647)]
3887
3925
  """
3888
3926
  The number of joints aka degrees of freedom in the motion group.
3889
3927
 
@@ -3891,7 +3929,7 @@ class MotionGroupInfo(BaseModel):
3891
3929
 
3892
3930
 
3893
3931
  class MotionGroupInfos(RootModel):
3894
- root: List[MotionGroupInfo]
3932
+ root: list[MotionGroupInfo]
3895
3933
 
3896
3934
  def __getitem__(self, index: int) -> MotionGroupInfo:
3897
3935
  """
@@ -3924,22 +3962,22 @@ class MotionGroupJoints(BaseModel):
3924
3962
  Everything but positions is optional.
3925
3963
  """
3926
3964
 
3927
- positions: List[float]
3965
+ positions: list[float]
3928
3966
  """
3929
3967
  The joint positions of the motion group.
3930
3968
 
3931
3969
  """
3932
- velocities: Optional[List[float]] = None
3970
+ velocities: list[float] | None = None
3933
3971
  """
3934
3972
  The joint velocities of the motion group.
3935
3973
 
3936
3974
  """
3937
- accelerations: Optional[List[float]] = None
3975
+ accelerations: list[float] | None = None
3938
3976
  """
3939
3977
  The joint accelerations of the motion group.
3940
3978
 
3941
3979
  """
3942
- torques: Optional[List[float]] = None
3980
+ torques: list[float] | None = None
3943
3981
  """
3944
3982
  The joint torques of the motion group.
3945
3983
 
@@ -3947,13 +3985,13 @@ class MotionGroupJoints(BaseModel):
3947
3985
 
3948
3986
 
3949
3987
  class RobotTcpData(BaseModel):
3950
- name: Optional[str] = None
3988
+ name: str | None = None
3951
3989
  """
3952
3990
  A readable and changeable name for frontend visualization.
3953
3991
  """
3954
3992
  position: Vector3d
3955
- orientation: Optional[Orientation] = None
3956
- orientation_type: Optional[OrientationType] = 'ROTATION_VECTOR'
3993
+ orientation: Orientation | None = None
3994
+ orientation_type: OrientationType | None = 'ROTATION_VECTOR'
3957
3995
 
3958
3996
 
3959
3997
  class RobotTcp(RobotTcpData):
@@ -3965,7 +4003,7 @@ class RobotTcp(RobotTcpData):
3965
4003
 
3966
4004
  class RobotTcps(RootModel):
3967
4005
  root: Annotated[
3968
- List[RobotTcp],
4006
+ list[RobotTcp],
3969
4007
  Field(
3970
4008
  examples=[
3971
4009
  [
@@ -4030,7 +4068,7 @@ class OpMode(BaseModel):
4030
4068
 
4031
4069
 
4032
4070
  class CycleTime(BaseModel):
4033
- cycle_time_ms: int
4071
+ cycle_time_ms: Annotated[int, Field(ge=0, le=4294967295)]
4034
4072
  """
4035
4073
  Cycle time of controller communication in [ms].
4036
4074
  """
@@ -4071,7 +4109,7 @@ class ExternalJointStreamDatapoint(BaseModel):
4071
4109
 
4072
4110
 
4073
4111
  class ExternalJointStreamDatapoints(RootModel):
4074
- root: List[ExternalJointStreamDatapoint]
4112
+ root: list[ExternalJointStreamDatapoint]
4075
4113
 
4076
4114
  def __getitem__(self, index: int) -> ExternalJointStreamDatapoint:
4077
4115
  """
@@ -4117,7 +4155,7 @@ class MetadataObject(RootModel):
4117
4155
  A metadata object.
4118
4156
  """
4119
4157
 
4120
- root: Dict[str, str]
4158
+ root: dict[str, str]
4121
4159
 
4122
4160
 
4123
4161
  class BinaryObject(RootModel):
@@ -4140,13 +4178,13 @@ class BusIODescription(BaseModel):
4140
4178
  """
4141
4179
  direction: IODirection
4142
4180
  value_type: IOValueType
4143
- unit: Optional[UnitType] = None
4144
- min: Optional[IOBoundary] = None
4145
- max: Optional[IOBoundary] = None
4181
+ unit: UnitType | None = None
4182
+ min: IOBoundary | None = None
4183
+ max: IOBoundary | None = None
4146
4184
 
4147
4185
 
4148
4186
  class ListBusIODescriptionsResponse(RootModel):
4149
- root: List[BusIODescription]
4187
+ root: list[BusIODescription]
4150
4188
 
4151
4189
  def __getitem__(self, index: int) -> BusIODescription:
4152
4190
  """
@@ -4187,7 +4225,7 @@ class BusIOsStateEnum(Enum):
4187
4225
 
4188
4226
  class BusIOsState(BaseModel):
4189
4227
  state: BusIOsStateEnum
4190
- message: Optional[str] = None
4228
+ message: str | None = None
4191
4229
  """
4192
4230
  A message providing additional information on the input/output service, e.g., BUS service status, encountered errors.
4193
4231
  May be empty if no additional information is available.
@@ -4196,17 +4234,17 @@ class BusIOsState(BaseModel):
4196
4234
 
4197
4235
 
4198
4236
  class ProfinetSubSlotDescription(BaseModel):
4199
- number: Annotated[int, Field(ge=0)]
4237
+ number: Annotated[int, Field(ge=0, le=2147483647)]
4200
4238
  """
4201
4239
  The number/index of the PROFINET subslot.
4202
4240
 
4203
4241
  """
4204
- input_length: Annotated[int, Field(ge=0)]
4242
+ input_length: Annotated[int, Field(ge=0, le=2147483647)]
4205
4243
  """
4206
4244
  The amount of bytes allocated for the subslot in the input process image buffer.
4207
4245
 
4208
4246
  """
4209
- output_length: Annotated[int, Field(ge=0)]
4247
+ output_length: Annotated[int, Field(ge=0, le=2147483647)]
4210
4248
  """
4211
4249
  The amount of bytes allocated for the subslot in the output process image buffer.
4212
4250
 
@@ -4224,18 +4262,18 @@ class ProfinetSlotDescription(BaseModel):
4224
4262
 
4225
4263
  """
4226
4264
 
4227
- number: Annotated[int, Field(ge=0)]
4265
+ number: Annotated[int, Field(ge=0, le=2147483647)]
4228
4266
  """
4229
4267
  The number/index of the PROFINET slot. Per default, slot 0 is reserved for the device access point (DAP). Slots that are part of the cyclic input/output data exchange start at number 1.
4230
4268
 
4231
4269
  """
4232
- api: Annotated[int, Field(ge=0)]
4270
+ api: Annotated[int, Field(ge=0, le=2147483647)]
4233
4271
  """
4234
4272
  The application process identifier (API) number of the PROFINET input.
4235
4273
  The API identifies the application relation (AR) that is using the slot.
4236
4274
 
4237
4275
  """
4238
- subslots: List[ProfinetSubSlotDescription]
4276
+ subslots: list[ProfinetSubSlotDescription]
4239
4277
  """
4240
4278
  An array of PROFINET subslots.
4241
4279
 
@@ -4253,14 +4291,14 @@ class ProfinetDescription(BaseModel):
4253
4291
  The device identifier of the PROFINET device, identifying the specific device within the vendor's range.
4254
4292
 
4255
4293
  """
4256
- slots: Optional[List[ProfinetSlotDescription]] = None
4257
- device_name: Annotated[Optional[str], Field(examples=['pnDevice'])] = None
4294
+ slots: list[ProfinetSlotDescription] | None = None
4295
+ device_name: Annotated[str | None, Field(examples=['pnDevice'])] = None
4258
4296
  """
4259
4297
  Name of Station (NoS) of the PROFINET device. The NoS is used in combination with IPv4 record to identify your device in the PROFINET network.
4260
4298
  The `device_name` will be used as NoS if no REMA XML file is already present on your NOVA instance and no `rema_xml_content` is provided.
4261
4299
 
4262
4300
  """
4263
- ip_config: Optional[BusIOProfinetIpConfig] = None
4301
+ ip_config: BusIOProfinetIpConfig | None = None
4264
4302
 
4265
4303
 
4266
4304
  class ProfinetIOTypeEnum(Enum):
@@ -4309,7 +4347,7 @@ class ProfinetIOData(BaseModel):
4309
4347
  The byte address is used to locate the specific input/output variable within the device's memory or data structure.
4310
4348
 
4311
4349
  """
4312
- bit_address: Annotated[Optional[int], Field(ge=0, le=7)] = None
4350
+ bit_address: Annotated[int | None, Field(ge=0, le=7)] = None
4313
4351
  """
4314
4352
  The bit address of the input/output variable within the byte or word address.
4315
4353
  The bit address is used to specify the exact bit within the byte or word that corresponds to the input/output variable.
@@ -4331,7 +4369,7 @@ class ProfinetIOs(RootModel):
4331
4369
  Array of PROFINET input/output variable configurations.
4332
4370
  """
4333
4371
 
4334
- root: List[ProfinetIO]
4372
+ root: list[ProfinetIO]
4335
4373
  """
4336
4374
  Array of PROFINET input/output variable configurations.
4337
4375
  """
@@ -4375,11 +4413,11 @@ class ProfinetInputOutputConfig(BaseModel):
4375
4413
  The XML File has to be embedded as a string by escaping quotes, line breaks and so forth.
4376
4414
 
4377
4415
  """
4378
- input_offset: Annotated[int, Field(examples=[100], ge=0)]
4416
+ input_offset: Annotated[int, Field(examples=[100], ge=0, le=2147483647)]
4379
4417
  """
4380
4418
  Offset in bytes for the address of the input (perspective of the controller) variables. The offset will be subtracted from to the byte addresses of the sent XML content.
4381
4419
  """
4382
- output_offset: Annotated[int, Field(examples=[800], ge=0)]
4420
+ output_offset: Annotated[int, Field(examples=[800], ge=0, le=2147483647)]
4383
4421
  """
4384
4422
  Offset in bytes for the address of the output (perspective of the controller) variables. The offset will be subtracted from to the byte addresses of the sent XML content.
4385
4423
  """
@@ -4462,7 +4500,7 @@ class ModbusIOs(RootModel):
4462
4500
  Array of MODBUS input/output variable configurations.
4463
4501
  """
4464
4502
 
4465
- root: List[ModbusIO]
4503
+ root: list[ModbusIO]
4466
4504
  """
4467
4505
  Array of MODBUS input/output variable configurations.
4468
4506
  """
@@ -4492,12 +4530,32 @@ class ModbusIOs(RootModel):
4492
4530
  return iter(self.root)
4493
4531
 
4494
4532
 
4533
+ class ApiVersion(BaseModel):
4534
+ version: str
4535
+ """
4536
+ The version of the API.
4537
+ """
4538
+
4539
+
4540
+ class ConfigurationResource(BaseModel):
4541
+ """
4542
+ Configuration resource object.
4543
+ """
4544
+
4545
+ id: ConfigurationResourceId
4546
+ name: str
4547
+ """
4548
+ Human-readable name of the configuration resource.
4549
+ """
4550
+ children: ConfigurationResourceArray | None = None
4551
+
4552
+
4495
4553
  class ConfigurationResourceArray(RootModel):
4496
4554
  """
4497
4555
  Array of configuration resources.
4498
4556
  """
4499
4557
 
4500
- root: List[ConfigurationResource]
4558
+ root: list[ConfigurationResource]
4501
4559
  """
4502
4560
  Array of configuration resources.
4503
4561
  """
@@ -4527,17 +4585,4 @@ class ConfigurationResourceArray(RootModel):
4527
4585
  return iter(self.root)
4528
4586
 
4529
4587
 
4530
- class ConfigurationResource(BaseModel):
4531
- """
4532
- Configuration resource object.
4533
- """
4534
-
4535
- id: ConfigurationResourceId
4536
- name: str
4537
- """
4538
- Human-readable name of the configuration resource.
4539
- """
4540
- children: Optional[ConfigurationResourceArray] = None
4541
-
4542
-
4543
- ConfigurationResourceArray.model_rebuild()
4588
+ ConfigurationResource.model_rebuild()