standardbots 2.20250512.49__py3-none-any.whl → 2.20250801.2__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.
Potentially problematic release.
This version of standardbots might be problematic. Click here for more details.
- standardbots/auto_generated/apis.py +297 -0
- standardbots/auto_generated/models.py +1237 -138
- {standardbots-2.20250512.49.dist-info → standardbots-2.20250801.2.dist-info}/METADATA +1 -1
- standardbots-2.20250801.2.dist-info/RECORD +12 -0
- standardbots-2.20250512.49.dist-info/RECORD +0 -12
- {standardbots-2.20250512.49.dist-info → standardbots-2.20250801.2.dist-info}/WHEEL +0 -0
- {standardbots-2.20250512.49.dist-info → standardbots-2.20250801.2.dist-info}/top_level.txt +0 -0
|
@@ -284,6 +284,50 @@ class Default:
|
|
|
284
284
|
)
|
|
285
285
|
|
|
286
286
|
|
|
287
|
+
def get_equipment(
|
|
288
|
+
self,
|
|
289
|
+
) -> Response[
|
|
290
|
+
Union[
|
|
291
|
+
models.GetEquipmentConfigResponse,
|
|
292
|
+
models.ErrorResponse,
|
|
293
|
+
None
|
|
294
|
+
],
|
|
295
|
+
models.GetEquipmentConfigResponse
|
|
296
|
+
]:
|
|
297
|
+
"""
|
|
298
|
+
Get the currently-configured equipment
|
|
299
|
+
|
|
300
|
+
"""
|
|
301
|
+
path = "/api/v1/equipment"
|
|
302
|
+
try:
|
|
303
|
+
response = self._request_manager.request(
|
|
304
|
+
"GET",
|
|
305
|
+
path,
|
|
306
|
+
headers=self._request_manager.json_headers(),
|
|
307
|
+
)
|
|
308
|
+
parsed = None
|
|
309
|
+
if response.status == 200:
|
|
310
|
+
parsed = models.parse_get_equipment_config_response(json.loads(response.data))
|
|
311
|
+
|
|
312
|
+
is_user_error = response.status >= 400 and response.status <= 500
|
|
313
|
+
is_unavailable = response.status == 503
|
|
314
|
+
if parsed is None and (is_user_error or is_unavailable):
|
|
315
|
+
parsed = models.parse_error_response(json.loads(response.data))
|
|
316
|
+
|
|
317
|
+
return Response(
|
|
318
|
+
parsed,
|
|
319
|
+
response.status,
|
|
320
|
+
response
|
|
321
|
+
)
|
|
322
|
+
except urllib3.exceptions.MaxRetryError:
|
|
323
|
+
return Response(
|
|
324
|
+
models.ErrorResponse(
|
|
325
|
+
error=models.ErrorEnum.InternalServerError,
|
|
326
|
+
message="Connection Refused"
|
|
327
|
+
),
|
|
328
|
+
503,
|
|
329
|
+
None
|
|
330
|
+
)
|
|
287
331
|
def control_gripper(
|
|
288
332
|
self,
|
|
289
333
|
body: models.GripperCommandRequest,
|
|
@@ -1107,6 +1151,99 @@ class Default:
|
|
|
1107
1151
|
503,
|
|
1108
1152
|
None
|
|
1109
1153
|
)
|
|
1154
|
+
class Webrtc:
|
|
1155
|
+
def __init__(self, request_manager: RequestManager):
|
|
1156
|
+
self._request_manager = request_manager
|
|
1157
|
+
|
|
1158
|
+
|
|
1159
|
+
def send_message(
|
|
1160
|
+
self,
|
|
1161
|
+
body: models.SendMessageRequest,
|
|
1162
|
+
) -> Response[
|
|
1163
|
+
None,
|
|
1164
|
+
None
|
|
1165
|
+
]:
|
|
1166
|
+
"""
|
|
1167
|
+
Send a WebRTC signaling message
|
|
1168
|
+
"""
|
|
1169
|
+
path = "/api/v1/webrtc/message"
|
|
1170
|
+
try:
|
|
1171
|
+
response = self._request_manager.request(
|
|
1172
|
+
"POST",
|
|
1173
|
+
path,
|
|
1174
|
+
headers=self._request_manager.json_headers(),
|
|
1175
|
+
body=json.dumps(models.serialize_send_message_request(body)),
|
|
1176
|
+
)
|
|
1177
|
+
parsed = None
|
|
1178
|
+
|
|
1179
|
+
is_user_error = response.status >= 400 and response.status <= 500
|
|
1180
|
+
is_unavailable = response.status == 503
|
|
1181
|
+
if parsed is None and (is_user_error or is_unavailable):
|
|
1182
|
+
parsed = models.parse_error_response(json.loads(response.data))
|
|
1183
|
+
|
|
1184
|
+
return Response(
|
|
1185
|
+
parsed,
|
|
1186
|
+
response.status,
|
|
1187
|
+
response
|
|
1188
|
+
)
|
|
1189
|
+
except urllib3.exceptions.MaxRetryError:
|
|
1190
|
+
return Response(
|
|
1191
|
+
models.ErrorResponse(
|
|
1192
|
+
error=models.ErrorEnum.InternalServerError,
|
|
1193
|
+
message="Connection Refused"
|
|
1194
|
+
),
|
|
1195
|
+
503,
|
|
1196
|
+
None
|
|
1197
|
+
)
|
|
1198
|
+
def get_messages(
|
|
1199
|
+
self,
|
|
1200
|
+
base_url: str,
|
|
1201
|
+
client_id: str,
|
|
1202
|
+
) -> Response[
|
|
1203
|
+
Union[
|
|
1204
|
+
models.GetMessagesResponse,
|
|
1205
|
+
models.ErrorResponse,
|
|
1206
|
+
None
|
|
1207
|
+
],
|
|
1208
|
+
models.GetMessagesResponse
|
|
1209
|
+
]:
|
|
1210
|
+
"""
|
|
1211
|
+
Get pending WebRTC signaling messages
|
|
1212
|
+
"""
|
|
1213
|
+
path = "/api/v1/webrtc/messages"
|
|
1214
|
+
try:
|
|
1215
|
+
response = self._request_manager.request(
|
|
1216
|
+
"GET",
|
|
1217
|
+
path,
|
|
1218
|
+
headers=self._request_manager.json_headers(),
|
|
1219
|
+
fields={
|
|
1220
|
+
"baseUrl": models.serialize_str(base_url),
|
|
1221
|
+
"clientId": models.serialize_str(client_id),
|
|
1222
|
+
}
|
|
1223
|
+
)
|
|
1224
|
+
parsed = None
|
|
1225
|
+
if response.status == 200:
|
|
1226
|
+
parsed = models.parse_get_messages_response(json.loads(response.data))
|
|
1227
|
+
|
|
1228
|
+
is_user_error = response.status >= 400 and response.status <= 500
|
|
1229
|
+
is_unavailable = response.status == 503
|
|
1230
|
+
if parsed is None and (is_user_error or is_unavailable):
|
|
1231
|
+
parsed = models.parse_error_response(json.loads(response.data))
|
|
1232
|
+
|
|
1233
|
+
return Response(
|
|
1234
|
+
parsed,
|
|
1235
|
+
response.status,
|
|
1236
|
+
response
|
|
1237
|
+
)
|
|
1238
|
+
except urllib3.exceptions.MaxRetryError:
|
|
1239
|
+
return Response(
|
|
1240
|
+
models.ErrorResponse(
|
|
1241
|
+
error=models.ErrorEnum.InternalServerError,
|
|
1242
|
+
message="Connection Refused"
|
|
1243
|
+
),
|
|
1244
|
+
503,
|
|
1245
|
+
None
|
|
1246
|
+
)
|
|
1110
1247
|
|
|
1111
1248
|
calibration: Calibration
|
|
1112
1249
|
equipment: Equipment
|
|
@@ -1115,6 +1252,7 @@ class Default:
|
|
|
1115
1252
|
sensors: Sensors
|
|
1116
1253
|
space: Space
|
|
1117
1254
|
teleop: Teleop
|
|
1255
|
+
webrtc: Webrtc
|
|
1118
1256
|
|
|
1119
1257
|
def __init__(self, request_manager: RequestManager):
|
|
1120
1258
|
self._request_manager = request_manager
|
|
@@ -1125,6 +1263,7 @@ class Default:
|
|
|
1125
1263
|
self.sensors = Default.Sensors(request_manager)
|
|
1126
1264
|
self.space = Default.Space(request_manager)
|
|
1127
1265
|
self.teleop = Default.Teleop(request_manager)
|
|
1266
|
+
self.webrtc = Default.Webrtc(request_manager)
|
|
1128
1267
|
|
|
1129
1268
|
class Movement:
|
|
1130
1269
|
_request_manager: RequestManager
|
|
@@ -1753,16 +1892,66 @@ class Camera:
|
|
|
1753
1892
|
503,
|
|
1754
1893
|
None
|
|
1755
1894
|
)
|
|
1895
|
+
class Bot:
|
|
1896
|
+
def __init__(self, request_manager: RequestManager):
|
|
1897
|
+
self._request_manager = request_manager
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
def get_connected_cameras(
|
|
1901
|
+
self,
|
|
1902
|
+
) -> Response[
|
|
1903
|
+
Union[
|
|
1904
|
+
models.CameraDeviceList,
|
|
1905
|
+
models.ErrorResponse,
|
|
1906
|
+
None
|
|
1907
|
+
],
|
|
1908
|
+
models.CameraDeviceList
|
|
1909
|
+
]:
|
|
1910
|
+
"""
|
|
1911
|
+
Retrieve the list of connected camera devices from camera bot.
|
|
1912
|
+
"""
|
|
1913
|
+
path = "/api/v1/cameras/connected"
|
|
1914
|
+
try:
|
|
1915
|
+
response = self._request_manager.request(
|
|
1916
|
+
"GET",
|
|
1917
|
+
path,
|
|
1918
|
+
headers=self._request_manager.json_headers(),
|
|
1919
|
+
)
|
|
1920
|
+
parsed = None
|
|
1921
|
+
if response.status == 200:
|
|
1922
|
+
parsed = models.parse_camera_device_list(json.loads(response.data))
|
|
1923
|
+
|
|
1924
|
+
is_user_error = response.status >= 400 and response.status <= 500
|
|
1925
|
+
is_unavailable = response.status == 503
|
|
1926
|
+
if parsed is None and (is_user_error or is_unavailable):
|
|
1927
|
+
parsed = models.parse_error_response(json.loads(response.data))
|
|
1928
|
+
|
|
1929
|
+
return Response(
|
|
1930
|
+
parsed,
|
|
1931
|
+
response.status,
|
|
1932
|
+
response
|
|
1933
|
+
)
|
|
1934
|
+
except urllib3.exceptions.MaxRetryError:
|
|
1935
|
+
return Response(
|
|
1936
|
+
models.ErrorResponse(
|
|
1937
|
+
error=models.ErrorEnum.InternalServerError,
|
|
1938
|
+
message="Connection Refused"
|
|
1939
|
+
),
|
|
1940
|
+
503,
|
|
1941
|
+
None
|
|
1942
|
+
)
|
|
1756
1943
|
|
|
1757
1944
|
data: Data
|
|
1758
1945
|
settings: Settings
|
|
1759
1946
|
status: Status
|
|
1947
|
+
bot: Bot
|
|
1760
1948
|
|
|
1761
1949
|
def __init__(self, request_manager: RequestManager):
|
|
1762
1950
|
self._request_manager = request_manager
|
|
1763
1951
|
self.data = Camera.Data(request_manager)
|
|
1764
1952
|
self.settings = Camera.Settings(request_manager)
|
|
1765
1953
|
self.status = Camera.Status(request_manager)
|
|
1954
|
+
self.bot = Camera.Bot(request_manager)
|
|
1766
1955
|
|
|
1767
1956
|
class Faults:
|
|
1768
1957
|
_request_manager: RequestManager
|
|
@@ -2135,6 +2324,112 @@ class IO:
|
|
|
2135
2324
|
self.control = IO.Control(request_manager)
|
|
2136
2325
|
self.status = IO.Status(request_manager)
|
|
2137
2326
|
|
|
2327
|
+
class Messenger:
|
|
2328
|
+
_request_manager: RequestManager
|
|
2329
|
+
class Peers:
|
|
2330
|
+
def __init__(self, request_manager: RequestManager):
|
|
2331
|
+
self._request_manager = request_manager
|
|
2332
|
+
|
|
2333
|
+
|
|
2334
|
+
def register_peer(
|
|
2335
|
+
self,
|
|
2336
|
+
body: models.RegisterPeerRequest,
|
|
2337
|
+
) -> Response[
|
|
2338
|
+
Union[
|
|
2339
|
+
models.RegisterPeerResponse,
|
|
2340
|
+
models.ErrorResponse,
|
|
2341
|
+
None
|
|
2342
|
+
],
|
|
2343
|
+
models.RegisterPeerResponse
|
|
2344
|
+
]:
|
|
2345
|
+
"""
|
|
2346
|
+
Register a new peer with the messenger system.
|
|
2347
|
+
|
|
2348
|
+
"""
|
|
2349
|
+
path = "/api/v1/messenger/peers"
|
|
2350
|
+
try:
|
|
2351
|
+
response = self._request_manager.request(
|
|
2352
|
+
"POST",
|
|
2353
|
+
path,
|
|
2354
|
+
headers=self._request_manager.json_headers(),
|
|
2355
|
+
body=json.dumps(models.serialize_register_peer_request(body)),
|
|
2356
|
+
)
|
|
2357
|
+
parsed = None
|
|
2358
|
+
if response.status == 200:
|
|
2359
|
+
parsed = models.parse_register_peer_response(json.loads(response.data))
|
|
2360
|
+
|
|
2361
|
+
is_user_error = response.status >= 400 and response.status <= 500
|
|
2362
|
+
is_unavailable = response.status == 503
|
|
2363
|
+
if parsed is None and (is_user_error or is_unavailable):
|
|
2364
|
+
parsed = models.parse_error_response(json.loads(response.data))
|
|
2365
|
+
|
|
2366
|
+
return Response(
|
|
2367
|
+
parsed,
|
|
2368
|
+
response.status,
|
|
2369
|
+
response
|
|
2370
|
+
)
|
|
2371
|
+
except urllib3.exceptions.MaxRetryError:
|
|
2372
|
+
return Response(
|
|
2373
|
+
models.ErrorResponse(
|
|
2374
|
+
error=models.ErrorEnum.InternalServerError,
|
|
2375
|
+
message="Connection Refused"
|
|
2376
|
+
),
|
|
2377
|
+
503,
|
|
2378
|
+
None
|
|
2379
|
+
)
|
|
2380
|
+
def unregister_peer(
|
|
2381
|
+
self,
|
|
2382
|
+
body: models.UnregisterPeerRequest,
|
|
2383
|
+
) -> Response[
|
|
2384
|
+
Union[
|
|
2385
|
+
models.UnregisterPeerResponse,
|
|
2386
|
+
models.ErrorResponse,
|
|
2387
|
+
None
|
|
2388
|
+
],
|
|
2389
|
+
models.UnregisterPeerResponse
|
|
2390
|
+
]:
|
|
2391
|
+
"""
|
|
2392
|
+
Unregister an existing peer from the messenger system.
|
|
2393
|
+
|
|
2394
|
+
"""
|
|
2395
|
+
path = "/api/v1/messenger/peers"
|
|
2396
|
+
try:
|
|
2397
|
+
response = self._request_manager.request(
|
|
2398
|
+
"DELETE",
|
|
2399
|
+
path,
|
|
2400
|
+
headers=self._request_manager.json_headers(),
|
|
2401
|
+
body=json.dumps(models.serialize_unregister_peer_request(body)),
|
|
2402
|
+
)
|
|
2403
|
+
parsed = None
|
|
2404
|
+
if response.status == 200:
|
|
2405
|
+
parsed = models.parse_unregister_peer_response(json.loads(response.data))
|
|
2406
|
+
|
|
2407
|
+
is_user_error = response.status >= 400 and response.status <= 500
|
|
2408
|
+
is_unavailable = response.status == 503
|
|
2409
|
+
if parsed is None and (is_user_error or is_unavailable):
|
|
2410
|
+
parsed = models.parse_error_response(json.loads(response.data))
|
|
2411
|
+
|
|
2412
|
+
return Response(
|
|
2413
|
+
parsed,
|
|
2414
|
+
response.status,
|
|
2415
|
+
response
|
|
2416
|
+
)
|
|
2417
|
+
except urllib3.exceptions.MaxRetryError:
|
|
2418
|
+
return Response(
|
|
2419
|
+
models.ErrorResponse(
|
|
2420
|
+
error=models.ErrorEnum.InternalServerError,
|
|
2421
|
+
message="Connection Refused"
|
|
2422
|
+
),
|
|
2423
|
+
503,
|
|
2424
|
+
None
|
|
2425
|
+
)
|
|
2426
|
+
|
|
2427
|
+
peers: Peers
|
|
2428
|
+
|
|
2429
|
+
def __init__(self, request_manager: RequestManager):
|
|
2430
|
+
self._request_manager = request_manager
|
|
2431
|
+
self.peers = Messenger.Peers(request_manager)
|
|
2432
|
+
|
|
2138
2433
|
class Poses:
|
|
2139
2434
|
_request_manager: RequestManager
|
|
2140
2435
|
class ConstructPose:
|
|
@@ -3459,6 +3754,7 @@ class StandardBotsRobot(Default):
|
|
|
3459
3754
|
general: General
|
|
3460
3755
|
chat_gpt: ChatGPT
|
|
3461
3756
|
io: IO
|
|
3757
|
+
messenger: Messenger
|
|
3462
3758
|
poses: Poses
|
|
3463
3759
|
recovery: Recovery
|
|
3464
3760
|
ros: ROS
|
|
@@ -3483,6 +3779,7 @@ class StandardBotsRobot(Default):
|
|
|
3483
3779
|
self.general = General(self._request_manager)
|
|
3484
3780
|
self.chat_gpt = ChatGPT(self._request_manager)
|
|
3485
3781
|
self.io = IO(self._request_manager)
|
|
3782
|
+
self.messenger = Messenger(self._request_manager)
|
|
3486
3783
|
self.poses = Poses(self._request_manager)
|
|
3487
3784
|
self.recovery = Recovery(self._request_manager)
|
|
3488
3785
|
self.ros = ROS(self._request_manager)
|