autoverse-cli 0.29.1.dev408__tar.gz → 0.29.1.dev410__tar.gz

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 (56) hide show
  1. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/PKG-INFO +1 -1
  2. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/pyproject.toml +1 -1
  3. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/autoverse_cli.egg-info/PKG-INFO +1 -1
  4. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/app_version.py +1 -1
  5. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/race_cloud.py +2 -0
  6. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/race_cloud_util.py +25 -6
  7. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/LICENSE +0 -0
  8. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/README.md +0 -0
  9. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/setup.cfg +0 -0
  10. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/autoverse_cli.egg-info/SOURCES.txt +0 -0
  11. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/autoverse_cli.egg-info/dependency_links.txt +0 -0
  12. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/autoverse_cli.egg-info/entry_points.txt +0 -0
  13. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/autoverse_cli.egg-info/requires.txt +0 -0
  14. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/autoverse_cli.egg-info/top_level.txt +0 -0
  15. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/__init__.py +0 -0
  16. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/argparse_help.py +0 -0
  17. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/avrs.py +0 -0
  18. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/can_tool.py +0 -0
  19. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/can_tool_util.py +0 -0
  20. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/cfg.py +0 -0
  21. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/launcher.py +0 -0
  22. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/launcher_util.py +0 -0
  23. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/race_cloud_bridge_can.py +0 -0
  24. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/race_cloud_cfg_util.py +0 -0
  25. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/race_cloud_fwd_api.py +0 -0
  26. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/change_camera.py +0 -0
  27. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/code_booz.py +0 -0
  28. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/demo.py +0 -0
  29. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/dump_sim_config.py +0 -0
  30. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/environment.py +0 -0
  31. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/fault_injection.py +0 -0
  32. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/get_object_config.py +0 -0
  33. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/get_web_viz_meta.py +0 -0
  34. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/leaderboard.py +0 -0
  35. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/list_sim_objects.py +0 -0
  36. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/log_path.py +0 -0
  37. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/misc.py +0 -0
  38. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/move_to_landmark.py +0 -0
  39. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/npc.py +0 -0
  40. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/race_control.py +0 -0
  41. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/request.py +0 -0
  42. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/reset_to_track.py +0 -0
  43. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/rest_request.py +0 -0
  44. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/restart.py +0 -0
  45. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/scenario_control.py +0 -0
  46. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/spawn_object.py +0 -0
  47. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/teleport.py +0 -0
  48. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/toggle_hud.py +0 -0
  49. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/vd.py +0 -0
  50. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/vehicle_input.py +0 -0
  51. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/requests/vehicle_replay.py +0 -0
  52. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/shell_completion.py +0 -0
  53. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/simconfig.py +0 -0
  54. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/simconfig_util.py +0 -0
  55. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/tests.py +0 -0
  56. {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev410}/src/avrs/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autoverse-cli
3
- Version: 0.29.1.dev408
3
+ Version: 0.29.1.dev410
4
4
  Summary: The Autoverse CLI
5
5
  Author-email: Dan Kamrath <dan.kamrath@autonomalabs.com>
6
6
  License: # End-User License Agreement (EULA) of the Autonoma AutoVerse CLI
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "autoverse-cli"
3
- version = "0.29.1.dev408"
3
+ version = "0.29.1.dev410"
4
4
  dependencies = [
5
5
  "boto3",
6
6
  "cantools",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autoverse-cli
3
- Version: 0.29.1.dev408
3
+ Version: 0.29.1.dev410
4
4
  Summary: The Autoverse CLI
5
5
  Author-email: Dan Kamrath <dan.kamrath@autonomalabs.com>
6
6
  License: # End-User License Agreement (EULA) of the Autonoma AutoVerse CLI
@@ -2,7 +2,7 @@ import http.client
2
2
  import json
3
3
 
4
4
  def get_app_version():
5
- return '0.29.1.dev408'
5
+ return '0.29.1.dev410'
6
6
 
7
7
  def check_app_is_latest():
8
8
  pass
@@ -211,6 +211,7 @@ class AvrsRaceCloud(AvrsApiRequest):
211
211
 
212
212
  # Validate sim_target (can be legacy index 0-5 or public IP only)
213
213
  is_valid, parsed_value, is_ip = parse_sim_target(args.sim_target)
214
+
214
215
  if not is_valid:
215
216
  print('invalid sim_target: {}'.format(parsed_value))
216
217
  return
@@ -276,6 +277,7 @@ class AvrsRaceCloud(AvrsApiRequest):
276
277
  ok, response = call_race_cloud_api(connection_request)
277
278
  if not ok:
278
279
  print('connect api error: {}'.format(response))
280
+ return
279
281
 
280
282
  ok, rbody, sim_ip = get_api_script_response(response)
281
283
  if not ok:
@@ -370,6 +370,9 @@ def call_race_cloud_api(body):
370
370
  session = boto3.Session()
371
371
  credentials = session.get_credentials()
372
372
 
373
+ if credentials is None:
374
+ return (False, 'No AWS credentials available')
375
+
373
376
  # Prepare the request body
374
377
  body_json = json.dumps(body)
375
378
 
@@ -405,13 +408,29 @@ def call_race_cloud_api(body):
405
408
 
406
409
  def get_api_script_response(raw):
407
410
  logger = logging.getLogger('avrs')
408
- # Parse API Gateway response, then parse the body which is also JSON string
411
+
412
+ # Parse the raw JSON response
409
413
  api_response = json.loads(raw)
410
- body_str = api_response['body']
411
- # Body is a JSON string from Lambda Proxy integration
412
- decoded = json.loads(body_str) if isinstance(body_str, str) else body_str
414
+
415
+ # Handle different response formats from API Gateway
416
+ # Format 1: {"body": "{...}"} - Lambda Proxy integration with string body
417
+ # Format 2: {"script_response": {...}, "sim_private_ip": ...} - Direct response
418
+ if 'body' in api_response:
419
+ body_str = api_response['body']
420
+ # Body is a JSON string from Lambda Proxy integration
421
+ decoded = json.loads(body_str) if isinstance(body_str, str) else body_str
422
+ else:
423
+ # Response came directly without body wrapper
424
+ decoded = api_response
425
+
413
426
  logger.info('race cloud api response: {}'.format(decoded))
427
+
414
428
  if decoded['script_response']['statusCode'] != 200:
415
429
  return (False, 'inner response had bad status code {}'.format(decoded))
416
- #print(decoded)
417
- return (True, json.loads(decoded['script_response']['body']), decoded['sim_private_ip'])
430
+
431
+ # Parse the script_response body
432
+ script_body = decoded['script_response']['body']
433
+ if isinstance(script_body, str):
434
+ script_body = json.loads(script_body)
435
+
436
+ return (True, script_body, decoded['sim_private_ip'])