@teslemetry/tesla-protocol 0.6.0 → 1.1.0

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 (100) hide show
  1. package/README.md +1 -3
  2. package/dist/command/car_server.cjs +223 -9
  3. package/dist/command/car_server.d.cts +123 -96
  4. package/dist/command/car_server.d.mts +123 -96
  5. package/dist/command/car_server.mjs +217 -10
  6. package/dist/command/common.cjs +43 -0
  7. package/dist/command/common.d.cts +6 -2
  8. package/dist/command/common.d.mts +6 -2
  9. package/dist/command/common.mjs +43 -1
  10. package/dist/command/managed_charging.d.cts +1 -1
  11. package/dist/command/managed_charging.d.mts +1 -1
  12. package/dist/command/session.d.cts +0 -4
  13. package/dist/command/session.d.mts +0 -4
  14. package/dist/command/universal_message.cjs +4 -4
  15. package/dist/command/universal_message.d.cts +4 -4
  16. package/dist/command/universal_message.d.mts +4 -4
  17. package/dist/command/universal_message.mjs +4 -4
  18. package/dist/command/vcsec.cjs +37 -37
  19. package/dist/command/vcsec.d.cts +41 -41
  20. package/dist/command/vcsec.d.mts +41 -41
  21. package/dist/command/vcsec.mjs +37 -37
  22. package/dist/command/vehicle.cjs +129 -18
  23. package/dist/command/vehicle.d.cts +66 -57
  24. package/dist/command/vehicle.d.mts +66 -57
  25. package/dist/command/vehicle.mjs +129 -20
  26. package/dist/energy_command/identifier_type.cjs +0 -5
  27. package/dist/energy_command/identifier_type.d.cts +0 -5
  28. package/dist/energy_command/identifier_type.d.mts +0 -5
  29. package/dist/energy_command/identifier_type.mjs +0 -5
  30. package/dist/energy_device/authorization_api.d.cts +0 -5
  31. package/dist/energy_device/authorization_api.d.mts +0 -5
  32. package/dist/energy_device/authorization_types.cjs +0 -5
  33. package/dist/energy_device/authorization_types.d.cts +0 -5
  34. package/dist/energy_device/authorization_types.d.mts +0 -5
  35. package/dist/energy_device/authorization_types.mjs +0 -5
  36. package/dist/energy_device/common_api.d.cts +0 -5
  37. package/dist/energy_device/common_api.d.mts +0 -5
  38. package/dist/energy_device/device.cjs +0 -5
  39. package/dist/energy_device/device.d.cts +0 -5
  40. package/dist/energy_device/device.d.mts +0 -5
  41. package/dist/energy_device/device.mjs +0 -5
  42. package/dist/energy_device/energy.cjs +0 -5
  43. package/dist/energy_device/energy.d.cts +0 -5
  44. package/dist/energy_device/energy.d.mts +0 -5
  45. package/dist/energy_device/energy.mjs +0 -5
  46. package/dist/energy_device/energy_site_net.cjs +0 -5
  47. package/dist/energy_device/energy_site_net.d.cts +0 -5
  48. package/dist/energy_device/energy_site_net.d.mts +0 -5
  49. package/dist/energy_device/energy_site_net.mjs +0 -5
  50. package/dist/energy_device/error.d.cts +0 -5
  51. package/dist/energy_device/error.d.mts +0 -5
  52. package/dist/energy_device/filestore_api.cjs +0 -5
  53. package/dist/energy_device/filestore_api.d.cts +0 -5
  54. package/dist/energy_device/filestore_api.d.mts +0 -5
  55. package/dist/energy_device/filestore_api.mjs +0 -5
  56. package/dist/energy_device/graphql_api.cjs +0 -5
  57. package/dist/energy_device/graphql_api.d.cts +0 -5
  58. package/dist/energy_device/graphql_api.d.mts +0 -5
  59. package/dist/energy_device/graphql_api.mjs +0 -5
  60. package/dist/energy_device/intra_site_api.cjs +0 -5
  61. package/dist/energy_device/intra_site_api.d.cts +0 -5
  62. package/dist/energy_device/intra_site_api.d.mts +0 -5
  63. package/dist/energy_device/intra_site_api.mjs +0 -5
  64. package/dist/energy_device/local_auth_api.cjs +0 -5
  65. package/dist/energy_device/local_auth_api.d.cts +0 -5
  66. package/dist/energy_device/local_auth_api.d.mts +0 -5
  67. package/dist/energy_device/local_auth_api.mjs +0 -5
  68. package/dist/energy_device/networking.cjs +0 -5
  69. package/dist/energy_device/networking.d.cts +0 -5
  70. package/dist/energy_device/networking.d.mts +0 -5
  71. package/dist/energy_device/networking.mjs +0 -5
  72. package/dist/energy_device/neurio_meter_api.cjs +0 -5
  73. package/dist/energy_device/neurio_meter_api.d.cts +0 -5
  74. package/dist/energy_device/neurio_meter_api.d.mts +0 -5
  75. package/dist/energy_device/neurio_meter_api.mjs +0 -5
  76. package/dist/energy_device/pvi_api.cjs +0 -5
  77. package/dist/energy_device/pvi_api.d.cts +0 -5
  78. package/dist/energy_device/pvi_api.d.mts +0 -5
  79. package/dist/energy_device/pvi_api.mjs +0 -5
  80. package/dist/energy_device/teg_api.cjs +0 -5
  81. package/dist/energy_device/teg_api.d.cts +0 -5
  82. package/dist/energy_device/teg_api.d.mts +0 -5
  83. package/dist/energy_device/teg_api.mjs +0 -5
  84. package/dist/energy_device/transport.cjs +0 -5
  85. package/dist/energy_device/transport.d.cts +0 -5
  86. package/dist/energy_device/transport.d.mts +0 -5
  87. package/dist/energy_device/transport.mjs +0 -5
  88. package/dist/energy_device/update.cjs +0 -5
  89. package/dist/energy_device/update.d.cts +0 -5
  90. package/dist/energy_device/update.d.mts +0 -5
  91. package/dist/energy_device/update.mjs +0 -5
  92. package/dist/energy_device/wall_connector.cjs +0 -5
  93. package/dist/energy_device/wall_connector.d.cts +0 -5
  94. package/dist/energy_device/wall_connector.d.mts +0 -5
  95. package/dist/energy_device/wall_connector.mjs +0 -5
  96. package/dist/telemetry/vehicle_data.cjs +1 -1
  97. package/dist/telemetry/vehicle_data.d.cts +1 -1
  98. package/dist/telemetry/vehicle_data.d.mts +1 -1
  99. package/dist/telemetry/vehicle_data.mjs +1 -1
  100. package/package.json +1 -1
@@ -34,38 +34,38 @@ function signatureTypeToJSON(object) {
34
34
  let KeyFormFactor = /* @__PURE__ */ function(KeyFormFactor) {
35
35
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_UNKNOWN"] = 0] = "KEY_FORM_FACTOR_UNKNOWN";
36
36
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_NFC_CARD"] = 1] = "KEY_FORM_FACTOR_NFC_CARD";
37
- /** KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB - TESLEMETRY-EXT (app-4.58.6) */
37
+ /** KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB - TESLEMETRY-EXT */
38
38
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB"] = 2] = "KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB";
39
- /** KEY_FORM_FACTOR_BLE_DEVICE - TESLEMETRY-EXT (app-4.58.6) */
39
+ /** KEY_FORM_FACTOR_BLE_DEVICE - TESLEMETRY-EXT */
40
40
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_BLE_DEVICE"] = 3] = "KEY_FORM_FACTOR_BLE_DEVICE";
41
- /** KEY_FORM_FACTOR_NFC_DEVICE - TESLEMETRY-EXT (app-4.58.6) */
41
+ /** KEY_FORM_FACTOR_NFC_DEVICE - TESLEMETRY-EXT */
42
42
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_NFC_DEVICE"] = 4] = "KEY_FORM_FACTOR_NFC_DEVICE";
43
- /** KEY_FORM_FACTOR_BLE_AND_NFC_DEVICE - TESLEMETRY-EXT (app-4.58.6) */
43
+ /** KEY_FORM_FACTOR_BLE_AND_NFC_DEVICE - TESLEMETRY-EXT */
44
44
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_BLE_AND_NFC_DEVICE"] = 5] = "KEY_FORM_FACTOR_BLE_AND_NFC_DEVICE";
45
45
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_IOS_DEVICE"] = 6] = "KEY_FORM_FACTOR_IOS_DEVICE";
46
46
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_ANDROID_DEVICE"] = 7] = "KEY_FORM_FACTOR_ANDROID_DEVICE";
47
- /** KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB_P60 - TESLEMETRY-EXT (app-4.58.6) */
47
+ /** KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB_P60 - TESLEMETRY-EXT */
48
48
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB_P60"] = 8] = "KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB_P60";
49
49
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_CLOUD_KEY"] = 9] = "KEY_FORM_FACTOR_CLOUD_KEY";
50
- /** KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60 - TESLEMETRY-EXT (app-4.58.6) */
50
+ /** KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60 - TESLEMETRY-EXT */
51
51
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60"] = 10] = "KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60";
52
- /** KEY_FORM_FACTOR_5_BUTTON_GEN2_CAR_KEYFOB_P60 - TESLEMETRY-EXT (app-4.58.6) */
52
+ /** KEY_FORM_FACTOR_5_BUTTON_GEN2_CAR_KEYFOB_P60 - TESLEMETRY-EXT */
53
53
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_5_BUTTON_GEN2_CAR_KEYFOB_P60"] = 11] = "KEY_FORM_FACTOR_5_BUTTON_GEN2_CAR_KEYFOB_P60";
54
- /** KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V2 - TESLEMETRY-EXT (app-4.58.6) */
54
+ /** KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V2 - TESLEMETRY-EXT */
55
55
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V2"] = 12] = "KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V2";
56
- /** KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V3 - TESLEMETRY-EXT (app-4.58.6) */
56
+ /** KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V3 - TESLEMETRY-EXT */
57
57
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V3"] = 13] = "KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V3";
58
- /** KEY_FORM_FACTOR_NFC_CARD_P71 - TESLEMETRY-EXT (app-4.58.6) */
58
+ /** KEY_FORM_FACTOR_NFC_CARD_P71 - TESLEMETRY-EXT */
59
59
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_NFC_CARD_P71"] = 14] = "KEY_FORM_FACTOR_NFC_CARD_P71";
60
- /** KEY_FORM_FACTOR_NFC_CARD_METAL_CARD - TESLEMETRY-EXT (app-4.58.6) */
60
+ /** KEY_FORM_FACTOR_NFC_CARD_METAL_CARD - TESLEMETRY-EXT */
61
61
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_NFC_CARD_METAL_CARD"] = 15] = "KEY_FORM_FACTOR_NFC_CARD_METAL_CARD";
62
- /** KEY_FORM_FACTOR_NFC_CARD_PLASTIC_CARD - TESLEMETRY-EXT (app-4.58.6) */
62
+ /** KEY_FORM_FACTOR_NFC_CARD_PLASTIC_CARD - TESLEMETRY-EXT */
63
63
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_NFC_CARD_PLASTIC_CARD"] = 16] = "KEY_FORM_FACTOR_NFC_CARD_PLASTIC_CARD";
64
- /** KEY_FORM_FACTOR_APPLE_WATCH - TESLEMETRY-EXT (app-4.58.6) */
64
+ /** KEY_FORM_FACTOR_APPLE_WATCH - TESLEMETRY-EXT */
65
65
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_APPLE_WATCH"] = 17] = "KEY_FORM_FACTOR_APPLE_WATCH";
66
- /** KEY_FORM_FACTOR_NFC_CARD_WD_PLASTIC_CARD - TESLEMETRY-EXT (app-4.58.6) */
66
+ /** KEY_FORM_FACTOR_NFC_CARD_WD_PLASTIC_CARD - TESLEMETRY-EXT */
67
67
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_NFC_CARD_WD_PLASTIC_CARD"] = 18] = "KEY_FORM_FACTOR_NFC_CARD_WD_PLASTIC_CARD";
68
- /** KEY_FORM_FACTOR_HARMONY_OS_NEXT_DEVICE - TESLEMETRY-EXT (app-4.58.6) */
68
+ /** KEY_FORM_FACTOR_HARMONY_OS_NEXT_DEVICE - TESLEMETRY-EXT */
69
69
  KeyFormFactor[KeyFormFactor["KEY_FORM_FACTOR_HARMONY_OS_NEXT_DEVICE"] = 19] = "KEY_FORM_FACTOR_HARMONY_OS_NEXT_DEVICE";
70
70
  KeyFormFactor[KeyFormFactor["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
71
71
  return KeyFormFactor;
@@ -142,23 +142,23 @@ function keyFormFactorToJSON(object) {
142
142
  }
143
143
  let InformationRequestType = /* @__PURE__ */ function(InformationRequestType) {
144
144
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_STATUS"] = 0] = "INFORMATION_REQUEST_TYPE_GET_STATUS";
145
- /** INFORMATION_REQUEST_TYPE_GET_TOKEN - TESLEMETRY-EXT (app-4.58.6) */
145
+ /** INFORMATION_REQUEST_TYPE_GET_TOKEN - TESLEMETRY-EXT */
146
146
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_TOKEN"] = 1] = "INFORMATION_REQUEST_TYPE_GET_TOKEN";
147
- /** INFORMATION_REQUEST_TYPE_GET_COUNTER - TESLEMETRY-EXT (app-4.58.6) */
147
+ /** INFORMATION_REQUEST_TYPE_GET_COUNTER - TESLEMETRY-EXT */
148
148
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_COUNTER"] = 2] = "INFORMATION_REQUEST_TYPE_GET_COUNTER";
149
- /** INFORMATION_REQUEST_TYPE_GET_EPHEMERAL_PUBLIC_KEY - TESLEMETRY-EXT (app-4.58.6) */
149
+ /** INFORMATION_REQUEST_TYPE_GET_EPHEMERAL_PUBLIC_KEY - TESLEMETRY-EXT */
150
150
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_EPHEMERAL_PUBLIC_KEY"] = 3] = "INFORMATION_REQUEST_TYPE_GET_EPHEMERAL_PUBLIC_KEY";
151
- /** INFORMATION_REQUEST_TYPE_GET_SESSION_DATA - TESLEMETRY-EXT (app-4.58.6) */
151
+ /** INFORMATION_REQUEST_TYPE_GET_SESSION_DATA - TESLEMETRY-EXT */
152
152
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_SESSION_DATA"] = 4] = "INFORMATION_REQUEST_TYPE_GET_SESSION_DATA";
153
153
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO"] = 5] = "INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO";
154
154
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO"] = 6] = "INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO";
155
- /** INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO - TESLEMETRY-EXT (app-4.58.6) */
155
+ /** INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO - TESLEMETRY-EXT */
156
156
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO"] = 7] = "INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO";
157
- /** INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO - TESLEMETRY-EXT (app-4.58.6) */
157
+ /** INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO - TESLEMETRY-EXT */
158
158
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO"] = 8] = "INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO";
159
- /** INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY - TESLEMETRY-EXT (app-4.58.6) */
159
+ /** INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY - TESLEMETRY-EXT */
160
160
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY"] = 9] = "INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY";
161
- /** INFORMATION_REQUEST_TYPE_GET_CAPABILITIES - TESLEMETRY-EXT (app-4.58.6) */
161
+ /** INFORMATION_REQUEST_TYPE_GET_CAPABILITIES - TESLEMETRY-EXT */
162
162
  InformationRequestType[InformationRequestType["INFORMATION_REQUEST_TYPE_GET_CAPABILITIES"] = 16] = "INFORMATION_REQUEST_TYPE_GET_CAPABILITIES";
163
163
  InformationRequestType[InformationRequestType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
164
164
  return InformationRequestType;
@@ -209,22 +209,22 @@ function informationRequestTypeToJSON(object) {
209
209
  let RKEActionE = /* @__PURE__ */ function(RKEActionE) {
210
210
  RKEActionE[RKEActionE["RKE_ACTION_UNLOCK"] = 0] = "RKE_ACTION_UNLOCK";
211
211
  RKEActionE[RKEActionE["RKE_ACTION_LOCK"] = 1] = "RKE_ACTION_LOCK";
212
- /** RKE_ACTION_OPEN_TRUNK - TESLEMETRY-EXT (app-4.58.6) */
212
+ /** RKE_ACTION_OPEN_TRUNK - TESLEMETRY-EXT */
213
213
  RKEActionE[RKEActionE["RKE_ACTION_OPEN_TRUNK"] = 2] = "RKE_ACTION_OPEN_TRUNK";
214
- /** RKE_ACTION_OPEN_FRUNK - TESLEMETRY-EXT (app-4.58.6) */
214
+ /** RKE_ACTION_OPEN_FRUNK - TESLEMETRY-EXT */
215
215
  RKEActionE[RKEActionE["RKE_ACTION_OPEN_FRUNK"] = 3] = "RKE_ACTION_OPEN_FRUNK";
216
- /** RKE_ACTION_OPEN_CHARGE_PORT - TESLEMETRY-EXT (app-4.58.6) */
216
+ /** RKE_ACTION_OPEN_CHARGE_PORT - TESLEMETRY-EXT */
217
217
  RKEActionE[RKEActionE["RKE_ACTION_OPEN_CHARGE_PORT"] = 4] = "RKE_ACTION_OPEN_CHARGE_PORT";
218
- /** RKE_ACTION_CLOSE_CHARGE_PORT - TESLEMETRY-EXT (app-4.58.6) */
218
+ /** RKE_ACTION_CLOSE_CHARGE_PORT - TESLEMETRY-EXT */
219
219
  RKEActionE[RKEActionE["RKE_ACTION_CLOSE_CHARGE_PORT"] = 5] = "RKE_ACTION_CLOSE_CHARGE_PORT";
220
- /** RKE_ACTION_CANCEL_EXTERNAL_AUTHENTICATE - TESLEMETRY-EXT (app-4.58.6) */
220
+ /** RKE_ACTION_CANCEL_EXTERNAL_AUTHENTICATE - TESLEMETRY-EXT */
221
221
  RKEActionE[RKEActionE["RKE_ACTION_CANCEL_EXTERNAL_AUTHENTICATE"] = 6] = "RKE_ACTION_CANCEL_EXTERNAL_AUTHENTICATE";
222
- /** RKE_ACTION_UNKNOWN - TESLEMETRY-EXT (app-4.58.6) */
222
+ /** RKE_ACTION_UNKNOWN - TESLEMETRY-EXT */
223
223
  RKEActionE[RKEActionE["RKE_ACTION_UNKNOWN"] = 19] = "RKE_ACTION_UNKNOWN";
224
224
  RKEActionE[RKEActionE["RKE_ACTION_REMOTE_DRIVE"] = 20] = "RKE_ACTION_REMOTE_DRIVE";
225
225
  RKEActionE[RKEActionE["RKE_ACTION_AUTO_SECURE_VEHICLE"] = 29] = "RKE_ACTION_AUTO_SECURE_VEHICLE";
226
226
  RKEActionE[RKEActionE["RKE_ACTION_WAKE_VEHICLE"] = 30] = "RKE_ACTION_WAKE_VEHICLE";
227
- /** RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE - TESLEMETRY-EXT (app-4.58.6) */
227
+ /** RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE - TESLEMETRY-EXT */
228
228
  RKEActionE[RKEActionE["RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE"] = 31] = "RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE";
229
229
  RKEActionE[RKEActionE["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
230
230
  return RKEActionE;
@@ -281,9 +281,9 @@ let ClosureMoveTypeE = /* @__PURE__ */ function(ClosureMoveTypeE) {
281
281
  ClosureMoveTypeE[ClosureMoveTypeE["CLOSURE_MOVE_TYPE_STOP"] = 2] = "CLOSURE_MOVE_TYPE_STOP";
282
282
  ClosureMoveTypeE[ClosureMoveTypeE["CLOSURE_MOVE_TYPE_OPEN"] = 3] = "CLOSURE_MOVE_TYPE_OPEN";
283
283
  ClosureMoveTypeE[ClosureMoveTypeE["CLOSURE_MOVE_TYPE_CLOSE"] = 4] = "CLOSURE_MOVE_TYPE_CLOSE";
284
- /** CLOSURE_MOVE_TYPE_OVERRIDE_OPEN - TESLEMETRY-EXT (app-4.58.6) */
284
+ /** CLOSURE_MOVE_TYPE_OVERRIDE_OPEN - TESLEMETRY-EXT */
285
285
  ClosureMoveTypeE[ClosureMoveTypeE["CLOSURE_MOVE_TYPE_OVERRIDE_OPEN"] = 5] = "CLOSURE_MOVE_TYPE_OVERRIDE_OPEN";
286
- /** CLOSURE_MOVE_TYPE_OVERRIDE_CLOSE - TESLEMETRY-EXT (app-4.58.6) */
286
+ /** CLOSURE_MOVE_TYPE_OVERRIDE_CLOSE - TESLEMETRY-EXT */
287
287
  ClosureMoveTypeE[ClosureMoveTypeE["CLOSURE_MOVE_TYPE_OVERRIDE_CLOSE"] = 6] = "CLOSURE_MOVE_TYPE_OVERRIDE_CLOSE";
288
288
  ClosureMoveTypeE[ClosureMoveTypeE["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
289
289
  return ClosureMoveTypeE;
@@ -469,13 +469,13 @@ let WhitelistOperationInformationE = /* @__PURE__ */ function(WhitelistOperation
469
469
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_TIMED_OUT_WAITING_FOR_UI_ACK"] = 26] = "WHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_TIMED_OUT_WAITING_FOR_UI_ACK";
470
470
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_VALET_MODE"] = 27] = "WHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_VALET_MODE";
471
471
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_CANCELLED"] = 28] = "WHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_CANCELLED";
472
- /** WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_RIDER_KEY - TESLEMETRY-EXT (app-4.58.6) */
472
+ /** WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_RIDER_KEY - TESLEMETRY-EXT */
473
473
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_RIDER_KEY"] = 29] = "WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_RIDER_KEY";
474
- /** WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_RIDER_KEY_OUTSIDE_FLEET_MODE - TESLEMETRY-EXT (app-4.58.6) */
474
+ /** WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_RIDER_KEY_OUTSIDE_FLEET_MODE - TESLEMETRY-EXT */
475
475
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_RIDER_KEY_OUTSIDE_FLEET_MODE"] = 30] = "WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_RIDER_KEY_OUTSIDE_FLEET_MODE";
476
- /** WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY - TESLEMETRY-EXT (app-4.58.6) */
476
+ /** WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY - TESLEMETRY-EXT */
477
477
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY"] = 31] = "WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY";
478
- /** WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY_WHEN_ALREADY_DELIVERED - TESLEMETRY-EXT (app-4.58.6) */
478
+ /** WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY_WHEN_ALREADY_DELIVERED - TESLEMETRY-EXT */
479
479
  WhitelistOperationInformationE[WhitelistOperationInformationE["WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY_WHEN_ALREADY_DELIVERED"] = 32] = "WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY_WHEN_ALREADY_DELIVERED";
480
480
  WhitelistOperationInformationE[WhitelistOperationInformationE["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
481
481
  return WhitelistOperationInformationE;
@@ -713,7 +713,7 @@ function userPresenceEToJSON(object) {
713
713
  default: return "UNRECOGNIZED";
714
714
  }
715
715
  }
716
- /** ===== TESLEMETRY-EXT BEGIN (app-4.58.6) ===== */
716
+ /** ===== TESLEMETRY-EXT BEGIN ===== */
717
717
  let UIDesireE = /* @__PURE__ */ function(UIDesireE) {
718
718
  UIDesireE[UIDesireE["UI_DESIRE_NONE"] = 0] = "UI_DESIRE_NONE";
719
719
  UIDesireE[UIDesireE["UI_DESIRE_HAS_DATA"] = 1] = "UI_DESIRE_HAS_DATA";
@@ -12,7 +12,7 @@ const protobufPackage = "CarServer";
12
12
  * UPSTREAM-COMMIT: see upstream.json
13
13
  * This file = upstream base + Teslemetry extensions marked TESLEMETRY-EXT.
14
14
  */
15
- /** ===== TESLEMETRY-EXT BEGIN (app-4.58.6) ===== */
15
+ /** ===== TESLEMETRY-EXT BEGIN ===== */
16
16
  let AutopilotBase = /* @__PURE__ */ function(AutopilotBase) {
17
17
  AutopilotBase[AutopilotBase["AutopilotBase_NONE"] = 0] = "AutopilotBase_NONE";
18
18
  AutopilotBase[AutopilotBase["AutopilotBase_HIGHWAY"] = 1] = "AutopilotBase_HIGHWAY";
@@ -97,7 +97,7 @@ function autopilotOverrideStateToJSON(object) {
97
97
  default: return "UNRECOGNIZED";
98
98
  }
99
99
  }
100
- /** ===== TESLEMETRY-EXT BEGIN (app-4.58.6) ===== */
100
+ /** ===== TESLEMETRY-EXT BEGIN ===== */
101
101
  let DashCamState = /* @__PURE__ */ function(DashCamState) {
102
102
  DashCamState[DashCamState["DashCamState_UNAVAILABLE"] = 0] = "DashCamState_UNAVAILABLE";
103
103
  DashCamState[DashCamState["DashCamState_AVAILABLE"] = 1] = "DashCamState_AVAILABLE";
@@ -144,7 +144,7 @@ function dashCamStateToJSON(object) {
144
144
  default: return "UNRECOGNIZED";
145
145
  }
146
146
  }
147
- /** ===== TESLEMETRY-EXT BEGIN (app-4.58.6) ===== */
147
+ /** ===== TESLEMETRY-EXT BEGIN ===== */
148
148
  let TheaterSource = /* @__PURE__ */ function(TheaterSource) {
149
149
  TheaterSource[TheaterSource["TheaterSource_None"] = 0] = "TheaterSource_None";
150
150
  TheaterSource[TheaterSource["TheaterSource_YouTube"] = 1] = "TheaterSource_YouTube";
@@ -255,7 +255,7 @@ let MediaSourceType = /* @__PURE__ */ function(MediaSourceType) {
255
255
  MediaSourceType[MediaSourceType["MediaSourceType_OnlineRadio"] = 24] = "MediaSourceType_OnlineRadio";
256
256
  MediaSourceType[MediaSourceType["MediaSourceType_OnlineRadio2"] = 25] = "MediaSourceType_OnlineRadio2";
257
257
  MediaSourceType[MediaSourceType["MediaSourceType_NetEaseMusic"] = 26] = "MediaSourceType_NetEaseMusic";
258
- /** MediaSourceType_AppleMusic - TESLEMETRY-EXT (app-4.58.6) */
258
+ /** MediaSourceType_AppleMusic - TESLEMETRY-EXT */
259
259
  MediaSourceType[MediaSourceType["MediaSourceType_AppleMusic"] = 27] = "MediaSourceType_AppleMusic";
260
260
  /** MediaSourceType_Browser - Entertainment sources */
261
261
  MediaSourceType[MediaSourceType["MediaSourceType_Browser"] = 28] = "MediaSourceType_Browser";
@@ -266,23 +266,23 @@ let MediaSourceType = /* @__PURE__ */ function(MediaSourceType) {
266
266
  MediaSourceType[MediaSourceType["MediaSourceType_RecentsFavorites"] = 33] = "MediaSourceType_RecentsFavorites";
267
267
  MediaSourceType[MediaSourceType["MediaSourceType_HomeApps"] = 34] = "MediaSourceType_HomeApps";
268
268
  MediaSourceType[MediaSourceType["MediaSourceType_Search"] = 35] = "MediaSourceType_Search";
269
- /** MediaSourceType_ApplePodcasts - TESLEMETRY-EXT (app-4.58.6) */
269
+ /** MediaSourceType_ApplePodcasts - TESLEMETRY-EXT */
270
270
  MediaSourceType[MediaSourceType["MediaSourceType_ApplePodcasts"] = 36] = "MediaSourceType_ApplePodcasts";
271
- /** MediaSourceType_Audible - TESLEMETRY-EXT (app-4.58.6) */
271
+ /** MediaSourceType_Audible - TESLEMETRY-EXT */
272
272
  MediaSourceType[MediaSourceType["MediaSourceType_Audible"] = 37] = "MediaSourceType_Audible";
273
- /** MediaSourceType_AmazonMusic - TESLEMETRY-EXT (app-4.58.6) */
273
+ /** MediaSourceType_AmazonMusic - TESLEMETRY-EXT */
274
274
  MediaSourceType[MediaSourceType["MediaSourceType_AmazonMusic"] = 38] = "MediaSourceType_AmazonMusic";
275
- /** MediaSourceType_YouTubeMusic - TESLEMETRY-EXT (app-4.58.6) */
275
+ /** MediaSourceType_YouTubeMusic - TESLEMETRY-EXT */
276
276
  MediaSourceType[MediaSourceType["MediaSourceType_YouTubeMusic"] = 39] = "MediaSourceType_YouTubeMusic";
277
- /** MediaSourceType_SiriusXmWeb - TESLEMETRY-EXT (app-4.58.6) */
277
+ /** MediaSourceType_SiriusXmWeb - TESLEMETRY-EXT */
278
278
  MediaSourceType[MediaSourceType["MediaSourceType_SiriusXmWeb"] = 40] = "MediaSourceType_SiriusXmWeb";
279
- /** MediaSourceType_Yunting - TESLEMETRY-EXT (app-4.58.6) */
279
+ /** MediaSourceType_Yunting - TESLEMETRY-EXT */
280
280
  MediaSourceType[MediaSourceType["MediaSourceType_Yunting"] = 41] = "MediaSourceType_Yunting";
281
- /** MediaSourceType_TuneInWeb - TESLEMETRY-EXT (app-4.58.6) */
281
+ /** MediaSourceType_TuneInWeb - TESLEMETRY-EXT */
282
282
  MediaSourceType[MediaSourceType["MediaSourceType_TuneInWeb"] = 42] = "MediaSourceType_TuneInWeb";
283
- /** MediaSourceType_Kugou - TESLEMETRY-EXT (app-4.58.6) */
283
+ /** MediaSourceType_Kugou - TESLEMETRY-EXT */
284
284
  MediaSourceType[MediaSourceType["MediaSourceType_Kugou"] = 43] = "MediaSourceType_Kugou";
285
- /** MediaSourceType_Vohico - TESLEMETRY-EXT (app-4.58.6) */
285
+ /** MediaSourceType_Vohico - TESLEMETRY-EXT */
286
286
  MediaSourceType[MediaSourceType["MediaSourceType_Vohico"] = 44] = "MediaSourceType_Vohico";
287
287
  MediaSourceType[MediaSourceType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
288
288
  return MediaSourceType;
@@ -543,7 +543,7 @@ let ChargeState_ChargeLimitReason = /* @__PURE__ */ function(ChargeState_ChargeL
543
543
  ChargeState_ChargeLimitReason[ChargeState_ChargeLimitReason["ChargeLimitReasonBattTempLow"] = 3] = "ChargeLimitReasonBattTempLow";
544
544
  ChargeState_ChargeLimitReason[ChargeState_ChargeLimitReason["ChargeLimitReasonHighSoc"] = 4] = "ChargeLimitReasonHighSoc";
545
545
  ChargeState_ChargeLimitReason[ChargeState_ChargeLimitReason["ChargeLimitReasonCabin"] = 5] = "ChargeLimitReasonCabin";
546
- /** ChargeLimitReasonEvseRelocationRecommended - TESLEMETRY-EXT (app-4.58.6) */
546
+ /** ChargeLimitReasonEvseRelocationRecommended - TESLEMETRY-EXT */
547
547
  ChargeState_ChargeLimitReason[ChargeState_ChargeLimitReason["ChargeLimitReasonEvseRelocationRecommended"] = 6] = "ChargeLimitReasonEvseRelocationRecommended";
548
548
  ChargeState_ChargeLimitReason[ChargeState_ChargeLimitReason["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
549
549
  return ChargeState_ChargeLimitReason;
@@ -679,7 +679,7 @@ let ChargeState_PowershareType = /* @__PURE__ */ function(ChargeState_Powershare
679
679
  ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypeNone"] = 0] = "PowershareTypeNone";
680
680
  ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypeLoad"] = 1] = "PowershareTypeLoad";
681
681
  ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypeHome"] = 2] = "PowershareTypeHome";
682
- /** PowershareTypeGrid - TESLEMETRY-EXT (app-4.58.6) */
682
+ /** PowershareTypeGrid - TESLEMETRY-EXT */
683
683
  ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypeGrid"] = 3] = "PowershareTypeGrid";
684
684
  ChargeState_PowershareType[ChargeState_PowershareType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
685
685
  return ChargeState_PowershareType;
@@ -714,9 +714,9 @@ let ChargeState_PowershareStopReason = /* @__PURE__ */ function(ChargeState_Powe
714
714
  ChargeState_PowershareStopReason[ChargeState_PowershareStopReason["PowershareStopReasonUser"] = 4] = "PowershareStopReasonUser";
715
715
  ChargeState_PowershareStopReason[ChargeState_PowershareStopReason["PowershareStopReasonReconnecting"] = 5] = "PowershareStopReasonReconnecting";
716
716
  ChargeState_PowershareStopReason[ChargeState_PowershareStopReason["PowershareStopReasonAuthentication"] = 6] = "PowershareStopReasonAuthentication";
717
- /** PowershareStopReasonAdapterUpdating - TESLEMETRY-EXT (app-4.58.6) */
717
+ /** PowershareStopReasonAdapterUpdating - TESLEMETRY-EXT */
718
718
  ChargeState_PowershareStopReason[ChargeState_PowershareStopReason["PowershareStopReasonAdapterUpdating"] = 7] = "PowershareStopReasonAdapterUpdating";
719
- /** PowershareStopReasonAdapterInitializationFailed - TESLEMETRY-EXT (app-4.58.6) */
719
+ /** PowershareStopReasonAdapterInitializationFailed - TESLEMETRY-EXT */
720
720
  ChargeState_PowershareStopReason[ChargeState_PowershareStopReason["PowershareStopReasonAdapterInitializationFailed"] = 8] = "PowershareStopReasonAdapterInitializationFailed";
721
721
  ChargeState_PowershareStopReason[ChargeState_PowershareStopReason["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
722
722
  return ChargeState_PowershareStopReason;
@@ -938,7 +938,7 @@ function climateState_COPNotRunningReasonToJSON(object) {
938
938
  default: return "UNRECOGNIZED";
939
939
  }
940
940
  }
941
- /** TESLEMETRY-EXT (app-4.58.6) */
941
+ /** TESLEMETRY-EXT */
942
942
  let ClimateState_DogModeState = /* @__PURE__ */ function(ClimateState_DogModeState) {
943
943
  ClimateState_DogModeState[ClimateState_DogModeState["DogModeStateUnavailableFault"] = 0] = "DogModeStateUnavailableFault";
944
944
  ClimateState_DogModeState[ClimateState_DogModeState["DogModeStateUnavailableTooHot"] = 1] = "DogModeStateUnavailableTooHot";
@@ -9193,6 +9193,7 @@ const ParkedAccessoryState = {
9193
9193
  function createBaseSohState() {
9194
9194
  return {
9195
9195
  sohTestState: void 0,
9196
+ sohTestEndMode: void 0,
9196
9197
  sohResult: void 0,
9197
9198
  timestamp: void 0
9198
9199
  };
@@ -9200,6 +9201,7 @@ function createBaseSohState() {
9200
9201
  const SohState = {
9201
9202
  encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
9202
9203
  if (message.sohTestState !== void 0) SohState_SohTestState.encode(message.sohTestState, writer.uint32(10).fork()).join();
9204
+ if (message.sohTestEndMode !== void 0) SohState_SohTestEndMode.encode(message.sohTestEndMode, writer.uint32(18).fork()).join();
9203
9205
  if (message.sohResult !== void 0) SohState_SohResult.encode(message.sohResult, writer.uint32(26).fork()).join();
9204
9206
  if (message.timestamp !== void 0) require_command_google_protobuf_timestamp.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(34).fork()).join();
9205
9207
  return writer;
@@ -9215,6 +9217,10 @@ const SohState = {
9215
9217
  if (tag !== 10) break;
9216
9218
  message.sohTestState = SohState_SohTestState.decode(reader, reader.uint32());
9217
9219
  continue;
9220
+ case 2:
9221
+ if (tag !== 18) break;
9222
+ message.sohTestEndMode = SohState_SohTestEndMode.decode(reader, reader.uint32());
9223
+ continue;
9218
9224
  case 3:
9219
9225
  if (tag !== 26) break;
9220
9226
  message.sohResult = SohState_SohResult.decode(reader, reader.uint32());
@@ -9232,6 +9238,7 @@ const SohState = {
9232
9238
  fromJSON(object) {
9233
9239
  return {
9234
9240
  sohTestState: isSet(object.sohTestState) ? SohState_SohTestState.fromJSON(object.sohTestState) : void 0,
9241
+ sohTestEndMode: isSet(object.sohTestEndMode) ? SohState_SohTestEndMode.fromJSON(object.sohTestEndMode) : void 0,
9235
9242
  sohResult: isSet(object.sohResult) ? SohState_SohResult.fromJSON(object.sohResult) : void 0,
9236
9243
  timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : void 0
9237
9244
  };
@@ -9239,6 +9246,7 @@ const SohState = {
9239
9246
  toJSON(message) {
9240
9247
  const obj = {};
9241
9248
  if (message.sohTestState !== void 0) obj.sohTestState = SohState_SohTestState.toJSON(message.sohTestState);
9249
+ if (message.sohTestEndMode !== void 0) obj.sohTestEndMode = SohState_SohTestEndMode.toJSON(message.sohTestEndMode);
9242
9250
  if (message.sohResult !== void 0) obj.sohResult = SohState_SohResult.toJSON(message.sohResult);
9243
9251
  if (message.timestamp !== void 0) obj.timestamp = message.timestamp.toISOString();
9244
9252
  return obj;
@@ -9249,19 +9257,86 @@ const SohState = {
9249
9257
  fromPartial(object) {
9250
9258
  const message = createBaseSohState();
9251
9259
  message.sohTestState = object.sohTestState !== void 0 && object.sohTestState !== null ? SohState_SohTestState.fromPartial(object.sohTestState) : void 0;
9260
+ message.sohTestEndMode = object.sohTestEndMode !== void 0 && object.sohTestEndMode !== null ? SohState_SohTestEndMode.fromPartial(object.sohTestEndMode) : void 0;
9252
9261
  message.sohResult = object.sohResult !== void 0 && object.sohResult !== null ? SohState_SohResult.fromPartial(object.sohResult) : void 0;
9253
9262
  message.timestamp = object.timestamp ?? void 0;
9254
9263
  return message;
9255
9264
  }
9256
9265
  };
9266
+ function createBaseSohState_SohTestPhase() {
9267
+ return {};
9268
+ }
9269
+ const SohState_SohTestPhase = {
9270
+ encode(_, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
9271
+ return writer;
9272
+ },
9273
+ decode(input, length) {
9274
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
9275
+ const end = length === void 0 ? reader.len : reader.pos + length;
9276
+ const message = createBaseSohState_SohTestPhase();
9277
+ while (reader.pos < end) {
9278
+ const tag = reader.uint32();
9279
+ switch (tag >>> 3) {}
9280
+ if ((tag & 7) === 4 || tag === 0) break;
9281
+ reader.skip(tag & 7);
9282
+ }
9283
+ return message;
9284
+ },
9285
+ fromJSON(_) {
9286
+ return {};
9287
+ },
9288
+ toJSON(_) {
9289
+ return {};
9290
+ },
9291
+ create(base) {
9292
+ return SohState_SohTestPhase.fromPartial(base ?? {});
9293
+ },
9294
+ fromPartial(_) {
9295
+ return createBaseSohState_SohTestPhase();
9296
+ }
9297
+ };
9298
+ function createBaseSohState_SohTestEndMode() {
9299
+ return {};
9300
+ }
9301
+ const SohState_SohTestEndMode = {
9302
+ encode(_, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
9303
+ return writer;
9304
+ },
9305
+ decode(input, length) {
9306
+ const reader = input instanceof _bufbuild_protobuf_wire.BinaryReader ? input : new _bufbuild_protobuf_wire.BinaryReader(input);
9307
+ const end = length === void 0 ? reader.len : reader.pos + length;
9308
+ const message = createBaseSohState_SohTestEndMode();
9309
+ while (reader.pos < end) {
9310
+ const tag = reader.uint32();
9311
+ switch (tag >>> 3) {}
9312
+ if ((tag & 7) === 4 || tag === 0) break;
9313
+ reader.skip(tag & 7);
9314
+ }
9315
+ return message;
9316
+ },
9317
+ fromJSON(_) {
9318
+ return {};
9319
+ },
9320
+ toJSON(_) {
9321
+ return {};
9322
+ },
9323
+ create(base) {
9324
+ return SohState_SohTestEndMode.fromPartial(base ?? {});
9325
+ },
9326
+ fromPartial(_) {
9327
+ return createBaseSohState_SohTestEndMode();
9328
+ }
9329
+ };
9257
9330
  function createBaseSohState_SohTestState() {
9258
9331
  return {
9332
+ sohTestPhase: void 0,
9259
9333
  sohTimeEstimate: void 0,
9260
9334
  sohTimeRemaining: void 0
9261
9335
  };
9262
9336
  }
9263
9337
  const SohState_SohTestState = {
9264
9338
  encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
9339
+ if (message.sohTestPhase !== void 0) SohState_SohTestPhase.encode(message.sohTestPhase, writer.uint32(10).fork()).join();
9265
9340
  if (message.sohTimeEstimate !== void 0) writer.uint32(21).float(message.sohTimeEstimate);
9266
9341
  if (message.sohTimeRemaining !== void 0) writer.uint32(29).float(message.sohTimeRemaining);
9267
9342
  return writer;
@@ -9273,6 +9348,10 @@ const SohState_SohTestState = {
9273
9348
  while (reader.pos < end) {
9274
9349
  const tag = reader.uint32();
9275
9350
  switch (tag >>> 3) {
9351
+ case 1:
9352
+ if (tag !== 10) break;
9353
+ message.sohTestPhase = SohState_SohTestPhase.decode(reader, reader.uint32());
9354
+ continue;
9276
9355
  case 2:
9277
9356
  if (tag !== 21) break;
9278
9357
  message.sohTimeEstimate = reader.float();
@@ -9289,12 +9368,14 @@ const SohState_SohTestState = {
9289
9368
  },
9290
9369
  fromJSON(object) {
9291
9370
  return {
9371
+ sohTestPhase: isSet(object.sohTestPhase) ? SohState_SohTestPhase.fromJSON(object.sohTestPhase) : void 0,
9292
9372
  sohTimeEstimate: isSet(object.sohTimeEstimate) ? globalThis.Number(object.sohTimeEstimate) : void 0,
9293
9373
  sohTimeRemaining: isSet(object.sohTimeRemaining) ? globalThis.Number(object.sohTimeRemaining) : void 0
9294
9374
  };
9295
9375
  },
9296
9376
  toJSON(message) {
9297
9377
  const obj = {};
9378
+ if (message.sohTestPhase !== void 0) obj.sohTestPhase = SohState_SohTestPhase.toJSON(message.sohTestPhase);
9298
9379
  if (message.sohTimeEstimate !== void 0) obj.sohTimeEstimate = message.sohTimeEstimate;
9299
9380
  if (message.sohTimeRemaining !== void 0) obj.sohTimeRemaining = message.sohTimeRemaining;
9300
9381
  return obj;
@@ -9304,6 +9385,7 @@ const SohState_SohTestState = {
9304
9385
  },
9305
9386
  fromPartial(object) {
9306
9387
  const message = createBaseSohState_SohTestState();
9388
+ message.sohTestPhase = object.sohTestPhase !== void 0 && object.sohTestPhase !== null ? SohState_SohTestPhase.fromPartial(object.sohTestPhase) : void 0;
9307
9389
  message.sohTimeEstimate = object.sohTimeEstimate ?? void 0;
9308
9390
  message.sohTimeRemaining = object.sohTimeRemaining ?? void 0;
9309
9391
  return message;
@@ -9751,6 +9833,7 @@ function createBaseVehicleImage() {
9751
9833
  return {
9752
9834
  imageId: /* @__PURE__ */ new Uint8Array(0),
9753
9835
  assetData: void 0,
9836
+ imageType: 0,
9754
9837
  isLocalImage: false,
9755
9838
  totalImageSize: 0
9756
9839
  };
@@ -9759,6 +9842,7 @@ const VehicleImage = {
9759
9842
  encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
9760
9843
  if (message.imageId.length !== 0) writer.uint32(10).bytes(message.imageId);
9761
9844
  if (message.assetData !== void 0) VehicleImageData.encode(message.assetData, writer.uint32(18).fork()).join();
9845
+ if (message.imageType !== 0) writer.uint32(24).int32(message.imageType);
9762
9846
  if (message.isLocalImage !== false) writer.uint32(32).bool(message.isLocalImage);
9763
9847
  if (message.totalImageSize !== 0) writer.uint32(40).uint32(message.totalImageSize);
9764
9848
  return writer;
@@ -9778,6 +9862,10 @@ const VehicleImage = {
9778
9862
  if (tag !== 18) break;
9779
9863
  message.assetData = VehicleImageData.decode(reader, reader.uint32());
9780
9864
  continue;
9865
+ case 3:
9866
+ if (tag !== 24) break;
9867
+ message.imageType = reader.int32();
9868
+ continue;
9781
9869
  case 4:
9782
9870
  if (tag !== 32) break;
9783
9871
  message.isLocalImage = reader.bool();
@@ -9796,6 +9884,7 @@ const VehicleImage = {
9796
9884
  return {
9797
9885
  imageId: isSet(object.imageId) ? bytesFromBase64(object.imageId) : /* @__PURE__ */ new Uint8Array(0),
9798
9886
  assetData: isSet(object.assetData) ? VehicleImageData.fromJSON(object.assetData) : void 0,
9887
+ imageType: isSet(object.imageType) ? vehicleImageStateTypeFromJSON(object.imageType) : 0,
9799
9888
  isLocalImage: isSet(object.isLocalImage) ? globalThis.Boolean(object.isLocalImage) : false,
9800
9889
  totalImageSize: isSet(object.totalImageSize) ? globalThis.Number(object.totalImageSize) : 0
9801
9890
  };
@@ -9804,6 +9893,7 @@ const VehicleImage = {
9804
9893
  const obj = {};
9805
9894
  if (message.imageId !== void 0) obj.imageId = base64FromBytes(message.imageId);
9806
9895
  if (message.assetData !== void 0) obj.assetData = VehicleImageData.toJSON(message.assetData);
9896
+ if (message.imageType !== void 0) obj.imageType = vehicleImageStateTypeToJSON(message.imageType);
9807
9897
  if (message.isLocalImage !== void 0) obj.isLocalImage = message.isLocalImage;
9808
9898
  if (message.totalImageSize !== void 0) obj.totalImageSize = Math.round(message.totalImageSize);
9809
9899
  return obj;
@@ -9815,6 +9905,7 @@ const VehicleImage = {
9815
9905
  const message = createBaseVehicleImage();
9816
9906
  message.imageId = object.imageId ?? /* @__PURE__ */ new Uint8Array(0);
9817
9907
  message.assetData = object.assetData !== void 0 && object.assetData !== null ? VehicleImageData.fromPartial(object.assetData) : void 0;
9908
+ message.imageType = object.imageType ?? 0;
9818
9909
  message.isLocalImage = object.isLocalImage ?? false;
9819
9910
  message.totalImageSize = object.totalImageSize ?? 0;
9820
9911
  return message;
@@ -9877,21 +9968,25 @@ const VehicleImageState = {
9877
9968
  };
9878
9969
  function createBaseSuspensionState() {
9879
9970
  return {
9971
+ allowedLevels: [],
9880
9972
  currentLevel: void 0,
9881
9973
  targetLevel: void 0,
9882
9974
  movementState: void 0,
9883
9975
  offroadOn: void 0,
9884
9976
  disabledReason: void 0,
9977
+ levelOptions: [],
9885
9978
  timestamp: void 0
9886
9979
  };
9887
9980
  }
9888
9981
  const SuspensionState = {
9889
9982
  encode(message, writer = new _bufbuild_protobuf_wire.BinaryWriter()) {
9983
+ for (const v of message.allowedLevels) require_command_common.SuspensionLevelObj.encode(v, writer.uint32(10).fork()).join();
9890
9984
  if (message.currentLevel !== void 0) writer.uint32(16).int32(message.currentLevel);
9891
9985
  if (message.targetLevel !== void 0) writer.uint32(24).int32(message.targetLevel);
9892
9986
  if (message.movementState !== void 0) writer.uint32(32).int32(message.movementState);
9893
9987
  if (message.offroadOn !== void 0) writer.uint32(40).bool(message.offroadOn);
9894
9988
  if (message.disabledReason !== void 0) writer.uint32(50).string(message.disabledReason);
9989
+ for (const v of message.levelOptions) require_command_common.SuspensionLevelObj.encode(v, writer.uint32(58).fork()).join();
9895
9990
  if (message.timestamp !== void 0) require_command_google_protobuf_timestamp.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(16002).fork()).join();
9896
9991
  return writer;
9897
9992
  },
@@ -9902,6 +9997,10 @@ const SuspensionState = {
9902
9997
  while (reader.pos < end) {
9903
9998
  const tag = reader.uint32();
9904
9999
  switch (tag >>> 3) {
10000
+ case 1:
10001
+ if (tag !== 10) break;
10002
+ message.allowedLevels.push(require_command_common.SuspensionLevelObj.decode(reader, reader.uint32()));
10003
+ continue;
9905
10004
  case 2:
9906
10005
  if (tag !== 16) break;
9907
10006
  message.currentLevel = reader.int32();
@@ -9922,6 +10021,10 @@ const SuspensionState = {
9922
10021
  if (tag !== 50) break;
9923
10022
  message.disabledReason = reader.string();
9924
10023
  continue;
10024
+ case 7:
10025
+ if (tag !== 58) break;
10026
+ message.levelOptions.push(require_command_common.SuspensionLevelObj.decode(reader, reader.uint32()));
10027
+ continue;
9925
10028
  case 2e3:
9926
10029
  if (tag !== 16002) break;
9927
10030
  message.timestamp = fromTimestamp(require_command_google_protobuf_timestamp.Timestamp.decode(reader, reader.uint32()));
@@ -9934,21 +10037,25 @@ const SuspensionState = {
9934
10037
  },
9935
10038
  fromJSON(object) {
9936
10039
  return {
10040
+ allowedLevels: globalThis.Array.isArray(object?.allowedLevels) ? object.allowedLevels.map((e) => require_command_common.SuspensionLevelObj.fromJSON(e)) : [],
9937
10041
  currentLevel: isSet(object.currentLevel) ? require_command_common.suspensionLevelFromJSON(object.currentLevel) : void 0,
9938
10042
  targetLevel: isSet(object.targetLevel) ? require_command_common.suspensionLevelFromJSON(object.targetLevel) : void 0,
9939
10043
  movementState: isSet(object.movementState) ? require_command_common.suspensionActuationStateFromJSON(object.movementState) : void 0,
9940
10044
  offroadOn: isSet(object.offroadOn) ? globalThis.Boolean(object.offroadOn) : void 0,
9941
10045
  disabledReason: isSet(object.disabledReason) ? globalThis.String(object.disabledReason) : void 0,
10046
+ levelOptions: globalThis.Array.isArray(object?.levelOptions) ? object.levelOptions.map((e) => require_command_common.SuspensionLevelObj.fromJSON(e)) : [],
9942
10047
  timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : void 0
9943
10048
  };
9944
10049
  },
9945
10050
  toJSON(message) {
9946
10051
  const obj = {};
10052
+ if (message.allowedLevels?.length) obj.allowedLevels = message.allowedLevels.map((e) => require_command_common.SuspensionLevelObj.toJSON(e));
9947
10053
  if (message.currentLevel !== void 0) obj.currentLevel = require_command_common.suspensionLevelToJSON(message.currentLevel);
9948
10054
  if (message.targetLevel !== void 0) obj.targetLevel = require_command_common.suspensionLevelToJSON(message.targetLevel);
9949
10055
  if (message.movementState !== void 0) obj.movementState = require_command_common.suspensionActuationStateToJSON(message.movementState);
9950
10056
  if (message.offroadOn !== void 0) obj.offroadOn = message.offroadOn;
9951
10057
  if (message.disabledReason !== void 0) obj.disabledReason = message.disabledReason;
10058
+ if (message.levelOptions?.length) obj.levelOptions = message.levelOptions.map((e) => require_command_common.SuspensionLevelObj.toJSON(e));
9952
10059
  if (message.timestamp !== void 0) obj.timestamp = message.timestamp.toISOString();
9953
10060
  return obj;
9954
10061
  },
@@ -9957,11 +10064,13 @@ const SuspensionState = {
9957
10064
  },
9958
10065
  fromPartial(object) {
9959
10066
  const message = createBaseSuspensionState();
10067
+ message.allowedLevels = object.allowedLevels?.map((e) => require_command_common.SuspensionLevelObj.fromPartial(e)) || [];
9960
10068
  message.currentLevel = object.currentLevel ?? void 0;
9961
10069
  message.targetLevel = object.targetLevel ?? void 0;
9962
10070
  message.movementState = object.movementState ?? void 0;
9963
10071
  message.offroadOn = object.offroadOn ?? void 0;
9964
10072
  message.disabledReason = object.disabledReason ?? void 0;
10073
+ message.levelOptions = object.levelOptions?.map((e) => require_command_common.SuspensionLevelObj.fromPartial(e)) || [];
9965
10074
  message.timestamp = object.timestamp ?? void 0;
9966
10075
  return message;
9967
10076
  }
@@ -10260,6 +10369,8 @@ exports.SoftwareUpdateState = SoftwareUpdateState;
10260
10369
  exports.SoftwareUpdateState_SoftwareUpdateStatus = SoftwareUpdateState_SoftwareUpdateStatus;
10261
10370
  exports.SohState = SohState;
10262
10371
  exports.SohState_SohResult = SohState_SohResult;
10372
+ exports.SohState_SohTestEndMode = SohState_SohTestEndMode;
10373
+ exports.SohState_SohTestPhase = SohState_SohTestPhase;
10263
10374
  exports.SohState_SohTestState = SohState_SohTestState;
10264
10375
  exports.SohState_WarrantyServiceResult = SohState_WarrantyServiceResult;
10265
10376
  exports.SpeedLimitMode = SpeedLimitMode;