autoverse-cli 0.29.1.dev408__py3-none-any.whl → 0.29.1.dev409__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.
@@ -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.dev409
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
- autoverse_cli-0.29.1.dev408.dist-info/licenses/LICENSE,sha256=d4eWXho-u18HkBsX4K21uHX_bBb2UXZSrJdsb7Z_JlM,2647
1
+ autoverse_cli-0.29.1.dev409.dist-info/licenses/LICENSE,sha256=d4eWXho-u18HkBsX4K21uHX_bBb2UXZSrJdsb7Z_JlM,2647
2
2
  avrs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- avrs/app_version.py,sha256=ZdXZlJob3TXGBHkwL5DrTMvjg6wtqb58C5-Olo1sI98,864
3
+ avrs/app_version.py,sha256=Vb1DRkLyCKiKGLD9odhFnqePSW-VWpkduU5iQjFLvrw,864
4
4
  avrs/argparse_help.py,sha256=EoEaohGXZXqJvs1dFEzbo9vh47CYdHdSY2Im2Ps2iFo,945
5
5
  avrs/avrs.py,sha256=pQHc8KLAD0hCxpBoNbXOgj2Et3qiqxSMKyAXFLwWFjE,5787
6
6
  avrs/can_tool.py,sha256=IBoctKobBJ3wCq4ZdtuXuXH4AMEUxazCfYT6YP0Luw8,7161
@@ -8,11 +8,11 @@ avrs/can_tool_util.py,sha256=G3q21dTGMLc09SDq_RieoW7kSn-kXPkXxPDjavPh4hQ,7710
8
8
  avrs/cfg.py,sha256=kMn08Z4Ms1PAu2-U1QI8weEJeIVEppP4A4_tFfwnjtg,2924
9
9
  avrs/launcher.py,sha256=uk7xG2JTLJv7FJMDo1diwc-zmTvUxXJME9-0ctrZRuk,11352
10
10
  avrs/launcher_util.py,sha256=zXUbJByn9M-ErkNM6DvLCFtUkueYH-R0dehjQj0aYEs,6879
11
- avrs/race_cloud.py,sha256=Ff7Qee_B9V3M_L_uW8BP7A2F1kTiSs7Ne1TAsAC8mzE,22991
11
+ avrs/race_cloud.py,sha256=Pl8YrefTFJzhax2qFEEQVrZtezANbqNX7pxOcsjkirA,23728
12
12
  avrs/race_cloud_bridge_can.py,sha256=K3is7GFzWo2KBojr6V65kz138UfkVFXXofVxSAziArY,2888
13
13
  avrs/race_cloud_cfg_util.py,sha256=TF_gsP7c_39MKs1CyzeXkTH-Fwyd8wLkFkMbqQVmdeo,12066
14
14
  avrs/race_cloud_fwd_api.py,sha256=jB4kt6Shu9Pj96WPVjK790PZjucYxmuHjjVKczQfyZI,1620
15
- avrs/race_cloud_util.py,sha256=A8IiVnHmqGTA0qMtOBtGqYXfjeIQNzaPdtnrtvzpq1Y,15484
15
+ avrs/race_cloud_util.py,sha256=0wGVEwnJi5ndZyiBoIp-4QdojhAshr082cUJVjE8a8s,16805
16
16
  avrs/shell_completion.py,sha256=_IM85ADKQHYNMlTa1_nhnYWsgdOzRQ7tIFHxAT6EWWA,4298
17
17
  avrs/simconfig.py,sha256=UZc4FrxVHUkk2e9IglSpuojXkaL_nPrJW7trbEGgOOo,2907
18
18
  avrs/simconfig_util.py,sha256=ronvXg9Mraz60K99ABBvo_YDI1_rWphUWUn_s_voTKw,6044
@@ -44,8 +44,8 @@ avrs/requests/toggle_hud.py,sha256=sV5t5QZc4uvRihPVk8jEKZiQNsyF9tsUwq5b4jjZplc,3
44
44
  avrs/requests/vd.py,sha256=Rd0mCc89m2yKjftVf0cMHMFbJG4iFd09KzrI-DsCLgI,2606
45
45
  avrs/requests/vehicle_input.py,sha256=R1b1xkRtOBkwyU6OSN4bWVlYsIUroZG0WKbYbc4pEH8,729
46
46
  avrs/requests/vehicle_replay.py,sha256=7HPfVLjSLNbOyzU77Bz29qpHqRsMUAIWvnwvnNiw2nk,15026
47
- autoverse_cli-0.29.1.dev408.dist-info/METADATA,sha256=dkMoJjdB0_j5UoA1WigTUgCpd1mHMZuBJjQo7gABjaU,4588
48
- autoverse_cli-0.29.1.dev408.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
49
- autoverse_cli-0.29.1.dev408.dist-info/entry_points.txt,sha256=Cb9qsUyU5AKkklehCcvtfT0-N3SXbUEqvjze4iEU5kE,40
50
- autoverse_cli-0.29.1.dev408.dist-info/top_level.txt,sha256=-AJO2e4MCVej6hY0U84pu5NfMeMW5qaAPSMisDT5rmA,5
51
- autoverse_cli-0.29.1.dev408.dist-info/RECORD,,
47
+ autoverse_cli-0.29.1.dev409.dist-info/METADATA,sha256=63780yqs6dL_q95_hsfp4xHIMcWfFkT5-cBtZ55kNGU,4588
48
+ autoverse_cli-0.29.1.dev409.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
49
+ autoverse_cli-0.29.1.dev409.dist-info/entry_points.txt,sha256=Cb9qsUyU5AKkklehCcvtfT0-N3SXbUEqvjze4iEU5kE,40
50
+ autoverse_cli-0.29.1.dev409.dist-info/top_level.txt,sha256=-AJO2e4MCVej6hY0U84pu5NfMeMW5qaAPSMisDT5rmA,5
51
+ autoverse_cli-0.29.1.dev409.dist-info/RECORD,,
avrs/app_version.py CHANGED
@@ -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.dev409'
6
6
 
7
7
  def check_app_is_latest():
8
8
  pass
avrs/race_cloud.py CHANGED
@@ -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)
avrs/race_cloud_util.py CHANGED
@@ -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