autoverse-cli 0.29.1.dev408__tar.gz → 0.29.1.dev409__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.
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/PKG-INFO +1 -1
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/pyproject.toml +1 -1
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/PKG-INFO +1 -1
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/app_version.py +1 -1
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/race_cloud.py +15 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/race_cloud_util.py +28 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/LICENSE +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/README.md +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/setup.cfg +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/SOURCES.txt +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/dependency_links.txt +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/entry_points.txt +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/requires.txt +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/top_level.txt +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/__init__.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/argparse_help.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/avrs.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/can_tool.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/can_tool_util.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/cfg.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/launcher.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/launcher_util.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/race_cloud_bridge_can.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/race_cloud_cfg_util.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/race_cloud_fwd_api.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/change_camera.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/code_booz.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/demo.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/dump_sim_config.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/environment.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/fault_injection.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/get_object_config.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/get_web_viz_meta.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/leaderboard.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/list_sim_objects.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/log_path.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/misc.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/move_to_landmark.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/npc.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/race_control.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/request.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/reset_to_track.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/rest_request.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/restart.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/scenario_control.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/spawn_object.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/teleport.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/toggle_hud.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/vd.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/vehicle_input.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/vehicle_replay.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/shell_completion.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/simconfig.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/simconfig_util.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/tests.py +0 -0
- {autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/util.py +0 -0
|
@@ -209,14 +209,21 @@ class AvrsRaceCloud(AvrsApiRequest):
|
|
|
209
209
|
def race_connect(self, args):
|
|
210
210
|
logger = logging.getLogger('avrs')
|
|
211
211
|
|
|
212
|
+
print('[DEBUG] ===== RACE CONNECT START =====')
|
|
213
|
+
print('[DEBUG] sim_target argument: {}'.format(args.sim_target))
|
|
214
|
+
|
|
212
215
|
# Validate sim_target (can be legacy index 0-5 or public IP only)
|
|
213
216
|
is_valid, parsed_value, is_ip = parse_sim_target(args.sim_target)
|
|
217
|
+
print('[DEBUG] parse_sim_target result: is_valid={}, parsed_value={}, is_ip={}'.format(
|
|
218
|
+
is_valid, parsed_value, is_ip))
|
|
219
|
+
|
|
214
220
|
if not is_valid:
|
|
215
221
|
print('invalid sim_target: {}'.format(parsed_value))
|
|
216
222
|
return
|
|
217
223
|
|
|
218
224
|
# make api call to begin connection
|
|
219
225
|
our_ip = get_local_instance_ip()
|
|
226
|
+
print('[DEBUG] Local instance IP (our_ip): {}'.format(our_ip))
|
|
220
227
|
|
|
221
228
|
if our_ip == '127.0.0.1':
|
|
222
229
|
print('this machines IP was returned as localhost. was this run on the cloud instance?')
|
|
@@ -273,10 +280,18 @@ class AvrsRaceCloud(AvrsApiRequest):
|
|
|
273
280
|
'config_data': vcfg_data
|
|
274
281
|
}
|
|
275
282
|
|
|
283
|
+
print('[DEBUG] ===== CONNECTION REQUEST =====')
|
|
284
|
+
print('[DEBUG] sim_id (parsed): {}'.format(parsed_value))
|
|
285
|
+
print('[DEBUG] our_ip: {}'.format(our_ip))
|
|
286
|
+
print('[DEBUG] team_name: {}'.format(args.team_name))
|
|
287
|
+
print('[DEBUG] instance_id override: {}'.format(args.instance_id))
|
|
288
|
+
|
|
276
289
|
ok, response = call_race_cloud_api(connection_request)
|
|
277
290
|
if not ok:
|
|
278
291
|
print('connect api error: {}'.format(response))
|
|
292
|
+
return
|
|
279
293
|
|
|
294
|
+
print('[DEBUG] API call succeeded, parsing response...')
|
|
280
295
|
ok, rbody, sim_ip = get_api_script_response(response)
|
|
281
296
|
if not ok:
|
|
282
297
|
print(rbody)
|
|
@@ -366,10 +366,21 @@ def call_race_cloud_api(body):
|
|
|
366
366
|
url = 'https://9gca6018p0.execute-api.us-east-1.amazonaws.com/backend/race-connect'
|
|
367
367
|
region = 'us-east-1'
|
|
368
368
|
|
|
369
|
+
print('[DEBUG] ===== RACE CLOUD API CALL =====')
|
|
370
|
+
print('[DEBUG] URL: {}'.format(url))
|
|
371
|
+
print('[DEBUG] Request body: {}'.format(json.dumps(body, indent=2)))
|
|
372
|
+
|
|
369
373
|
# Get credentials from boto3 session (uses IAM role on EC2)
|
|
370
374
|
session = boto3.Session()
|
|
371
375
|
credentials = session.get_credentials()
|
|
372
376
|
|
|
377
|
+
if credentials is None:
|
|
378
|
+
print('[DEBUG] ERROR: No AWS credentials found!')
|
|
379
|
+
return (False, 'No AWS credentials available')
|
|
380
|
+
|
|
381
|
+
print('[DEBUG] AWS credentials found: access_key={}...'.format(
|
|
382
|
+
credentials.access_key[:10] if credentials.access_key else 'None'))
|
|
383
|
+
|
|
373
384
|
# Prepare the request body
|
|
374
385
|
body_json = json.dumps(body)
|
|
375
386
|
|
|
@@ -384,6 +395,14 @@ def call_race_cloud_api(body):
|
|
|
384
395
|
# Sign the request with SigV4
|
|
385
396
|
SigV4Auth(credentials, 'execute-api', region).add_auth(request)
|
|
386
397
|
|
|
398
|
+
print('[DEBUG] Request headers after signing:')
|
|
399
|
+
for k, v in request.headers.items():
|
|
400
|
+
# Don't print full auth header for security
|
|
401
|
+
if k.lower() == 'authorization':
|
|
402
|
+
print('[DEBUG] {}: {}...'.format(k, v[:50]))
|
|
403
|
+
else:
|
|
404
|
+
print('[DEBUG] {}: {}'.format(k, v))
|
|
405
|
+
|
|
387
406
|
# Make the request using urllib
|
|
388
407
|
try:
|
|
389
408
|
req = urllib.request.Request(
|
|
@@ -392,14 +411,23 @@ def call_race_cloud_api(body):
|
|
|
392
411
|
headers=dict(request.headers),
|
|
393
412
|
method='POST'
|
|
394
413
|
)
|
|
414
|
+
print('[DEBUG] Sending request...')
|
|
395
415
|
with urllib.request.urlopen(req) as response:
|
|
396
416
|
response_body = response.read().decode('utf-8')
|
|
417
|
+
print('[DEBUG] Response status: {}'.format(response.status))
|
|
418
|
+
print('[DEBUG] Response body (first 500 chars): {}'.format(response_body[:500]))
|
|
397
419
|
return (True, response_body)
|
|
398
420
|
except urllib.error.HTTPError as e:
|
|
399
421
|
error_body = e.read().decode('utf-8')
|
|
422
|
+
print('[DEBUG] HTTP ERROR!')
|
|
423
|
+
print('[DEBUG] Status code: {}'.format(e.code))
|
|
424
|
+
print('[DEBUG] Reason: {}'.format(e.reason))
|
|
425
|
+
print('[DEBUG] Headers: {}'.format(dict(e.headers)))
|
|
426
|
+
print('[DEBUG] Body: {}'.format(error_body))
|
|
400
427
|
logger.error('API error - status: {}, body: {}'.format(e.code, error_body))
|
|
401
428
|
return (False, 'response had status code {} - {}'.format(e.code, error_body))
|
|
402
429
|
except Exception as e:
|
|
430
|
+
print('[DEBUG] EXCEPTION: {} - {}'.format(type(e).__name__, str(e)))
|
|
403
431
|
logger.error('API request failed: {}'.format(str(e)))
|
|
404
432
|
return (False, 'request failed: {}'.format(str(e)))
|
|
405
433
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/requires.txt
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/autoverse_cli.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/race_cloud_bridge_can.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/change_camera.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/dump_sim_config.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/environment.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/fault_injection.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/get_object_config.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/get_web_viz_meta.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/leaderboard.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/list_sim_objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/move_to_landmark.py
RENAMED
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/race_control.py
RENAMED
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/reset_to_track.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/rest_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/scenario_control.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/spawn_object.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/vehicle_input.py
RENAMED
|
File without changes
|
{autoverse_cli-0.29.1.dev408 → autoverse_cli-0.29.1.dev409}/src/avrs/requests/vehicle_replay.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|