@teslemetry/tesla-protocol 1.1.0 → 1.2.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.
@@ -680,6 +680,8 @@ let ChargeState_PowershareType = /* @__PURE__ */ function(ChargeState_Powershare
680
680
  ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypeHome"] = 2] = "PowershareTypeHome";
681
681
  /** PowershareTypeGrid - TESLEMETRY-EXT */
682
682
  ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypeGrid"] = 3] = "PowershareTypeGrid";
683
+ /** PowershareTypePowerwall - TESLEMETRY-EXT */
684
+ ChargeState_PowershareType[ChargeState_PowershareType["PowershareTypePowerwall"] = 4] = "PowershareTypePowerwall";
683
685
  ChargeState_PowershareType[ChargeState_PowershareType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
684
686
  return ChargeState_PowershareType;
685
687
  }({});
@@ -693,6 +695,8 @@ function chargeState_PowershareTypeFromJSON(object) {
693
695
  case "PowershareTypeHome": return 2;
694
696
  case 3:
695
697
  case "PowershareTypeGrid": return 3;
698
+ case 4:
699
+ case "PowershareTypePowerwall": return 4;
696
700
  default: return -1;
697
701
  }
698
702
  }
@@ -702,6 +706,7 @@ function chargeState_PowershareTypeToJSON(object) {
702
706
  case 1: return "PowershareTypeLoad";
703
707
  case 2: return "PowershareTypeHome";
704
708
  case 3: return "PowershareTypeGrid";
709
+ case 4: return "PowershareTypePowerwall";
705
710
  default: return "UNRECOGNIZED";
706
711
  }
707
712
  }
@@ -1350,6 +1355,7 @@ function createBaseVehicleData() {
1350
1355
  vehicleImageState: void 0,
1351
1356
  suspensionState: void 0,
1352
1357
  childPresenceDetectionState: void 0,
1358
+ displayState: void 0,
1353
1359
  supportsOptionalFields: void 0
1354
1360
  };
1355
1361
  }
@@ -1381,6 +1387,7 @@ const VehicleData = {
1381
1387
  if (message.vehicleImageState !== void 0) VehicleImageState.encode(message.vehicleImageState, writer.uint32(218).fork()).join();
1382
1388
  if (message.suspensionState !== void 0) SuspensionState.encode(message.suspensionState, writer.uint32(234).fork()).join();
1383
1389
  if (message.childPresenceDetectionState !== void 0) ChildPresenceDetectionState.encode(message.childPresenceDetectionState, writer.uint32(242).fork()).join();
1390
+ if (message.displayState !== void 0) DisplayState.encode(message.displayState, writer.uint32(290).fork()).join();
1384
1391
  if (message.supportsOptionalFields !== void 0) writer.uint32(7992).bool(message.supportsOptionalFields);
1385
1392
  return writer;
1386
1393
  },
@@ -1495,6 +1502,10 @@ const VehicleData = {
1495
1502
  if (tag !== 242) break;
1496
1503
  message.childPresenceDetectionState = ChildPresenceDetectionState.decode(reader, reader.uint32());
1497
1504
  continue;
1505
+ case 36:
1506
+ if (tag !== 290) break;
1507
+ message.displayState = DisplayState.decode(reader, reader.uint32());
1508
+ continue;
1498
1509
  case 999:
1499
1510
  if (tag !== 7992) break;
1500
1511
  message.supportsOptionalFields = reader.bool();
@@ -1533,6 +1544,7 @@ const VehicleData = {
1533
1544
  vehicleImageState: isSet(object.vehicleImageState) ? VehicleImageState.fromJSON(object.vehicleImageState) : void 0,
1534
1545
  suspensionState: isSet(object.suspensionState) ? SuspensionState.fromJSON(object.suspensionState) : void 0,
1535
1546
  childPresenceDetectionState: isSet(object.childPresenceDetectionState) ? ChildPresenceDetectionState.fromJSON(object.childPresenceDetectionState) : void 0,
1547
+ displayState: isSet(object.displayState) ? DisplayState.fromJSON(object.displayState) : void 0,
1536
1548
  supportsOptionalFields: isSet(object.supportsOptionalFields) ? globalThis.Boolean(object.supportsOptionalFields) : void 0
1537
1549
  };
1538
1550
  },
@@ -1564,6 +1576,7 @@ const VehicleData = {
1564
1576
  if (message.vehicleImageState !== void 0) obj.vehicleImageState = VehicleImageState.toJSON(message.vehicleImageState);
1565
1577
  if (message.suspensionState !== void 0) obj.suspensionState = SuspensionState.toJSON(message.suspensionState);
1566
1578
  if (message.childPresenceDetectionState !== void 0) obj.childPresenceDetectionState = ChildPresenceDetectionState.toJSON(message.childPresenceDetectionState);
1579
+ if (message.displayState !== void 0) obj.displayState = DisplayState.toJSON(message.displayState);
1567
1580
  if (message.supportsOptionalFields !== void 0) obj.supportsOptionalFields = message.supportsOptionalFields;
1568
1581
  return obj;
1569
1582
  },
@@ -1598,6 +1611,7 @@ const VehicleData = {
1598
1611
  message.vehicleImageState = object.vehicleImageState !== void 0 && object.vehicleImageState !== null ? VehicleImageState.fromPartial(object.vehicleImageState) : void 0;
1599
1612
  message.suspensionState = object.suspensionState !== void 0 && object.suspensionState !== null ? SuspensionState.fromPartial(object.suspensionState) : void 0;
1600
1613
  message.childPresenceDetectionState = object.childPresenceDetectionState !== void 0 && object.childPresenceDetectionState !== null ? ChildPresenceDetectionState.fromPartial(object.childPresenceDetectionState) : void 0;
1614
+ message.displayState = object.displayState !== void 0 && object.displayState !== null ? DisplayState.fromPartial(object.displayState) : void 0;
1601
1615
  message.supportsOptionalFields = object.supportsOptionalFields ?? void 0;
1602
1616
  return message;
1603
1617
  }
@@ -1632,6 +1646,7 @@ function createBaseClosuresState() {
1632
1646
  hasSideStorageDoors: void 0,
1633
1647
  doorOpenSideStorageLeft: void 0,
1634
1648
  doorOpenSideStorageRight: void 0,
1649
+ cruiseSpeedLimitMph: 0,
1635
1650
  timestamp: void 0
1636
1651
  };
1637
1652
  }
@@ -1665,6 +1680,7 @@ const ClosuresState = {
1665
1680
  if (message.hasSideStorageDoors !== void 0) writer.uint32(216).bool(message.hasSideStorageDoors);
1666
1681
  if (message.doorOpenSideStorageLeft !== void 0) writer.uint32(224).bool(message.doorOpenSideStorageLeft);
1667
1682
  if (message.doorOpenSideStorageRight !== void 0) writer.uint32(232).bool(message.doorOpenSideStorageRight);
1683
+ if (message.cruiseSpeedLimitMph !== 0) writer.uint32(241).double(message.cruiseSpeedLimitMph);
1668
1684
  if (message.timestamp !== void 0) Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(16002).fork()).join();
1669
1685
  return writer;
1670
1686
  },
@@ -1787,6 +1803,10 @@ const ClosuresState = {
1787
1803
  if (tag !== 232) break;
1788
1804
  message.doorOpenSideStorageRight = reader.bool();
1789
1805
  continue;
1806
+ case 30:
1807
+ if (tag !== 241) break;
1808
+ message.cruiseSpeedLimitMph = reader.double();
1809
+ continue;
1790
1810
  case 2e3:
1791
1811
  if (tag !== 16002) break;
1792
1812
  message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
@@ -1827,6 +1847,7 @@ const ClosuresState = {
1827
1847
  hasSideStorageDoors: isSet(object.hasSideStorageDoors) ? globalThis.Boolean(object.hasSideStorageDoors) : void 0,
1828
1848
  doorOpenSideStorageLeft: isSet(object.doorOpenSideStorageLeft) ? globalThis.Boolean(object.doorOpenSideStorageLeft) : void 0,
1829
1849
  doorOpenSideStorageRight: isSet(object.doorOpenSideStorageRight) ? globalThis.Boolean(object.doorOpenSideStorageRight) : void 0,
1850
+ cruiseSpeedLimitMph: isSet(object.cruiseSpeedLimitMph) ? globalThis.Number(object.cruiseSpeedLimitMph) : 0,
1830
1851
  timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : void 0
1831
1852
  };
1832
1853
  },
@@ -1860,6 +1881,7 @@ const ClosuresState = {
1860
1881
  if (message.hasSideStorageDoors !== void 0) obj.hasSideStorageDoors = message.hasSideStorageDoors;
1861
1882
  if (message.doorOpenSideStorageLeft !== void 0) obj.doorOpenSideStorageLeft = message.doorOpenSideStorageLeft;
1862
1883
  if (message.doorOpenSideStorageRight !== void 0) obj.doorOpenSideStorageRight = message.doorOpenSideStorageRight;
1884
+ if (message.cruiseSpeedLimitMph !== void 0) obj.cruiseSpeedLimitMph = message.cruiseSpeedLimitMph;
1863
1885
  if (message.timestamp !== void 0) obj.timestamp = message.timestamp.toISOString();
1864
1886
  return obj;
1865
1887
  },
@@ -1896,6 +1918,7 @@ const ClosuresState = {
1896
1918
  message.hasSideStorageDoors = object.hasSideStorageDoors ?? void 0;
1897
1919
  message.doorOpenSideStorageLeft = object.doorOpenSideStorageLeft ?? void 0;
1898
1920
  message.doorOpenSideStorageRight = object.doorOpenSideStorageRight ?? void 0;
1921
+ message.cruiseSpeedLimitMph = object.cruiseSpeedLimitMph ?? 0;
1899
1922
  message.timestamp = object.timestamp ?? void 0;
1900
1923
  return message;
1901
1924
  }
@@ -5305,6 +5328,7 @@ function createBaseVehicleState() {
5305
5328
  tpmsLastSeenPressureTimeRr: void 0,
5306
5329
  deckLightsOn: void 0,
5307
5330
  hazardsOn: void 0,
5331
+ deckLightsAllowed: void 0,
5308
5332
  legacyMediaInfo: void 0,
5309
5333
  allowAuthorizedMobileDevicesOnly: void 0,
5310
5334
  guestMode: void 0,
@@ -5388,6 +5412,7 @@ const VehicleState = {
5388
5412
  if (message.tpmsLastSeenPressureTimeRr !== void 0) Timestamp.encode(toTimestamp(message.tpmsLastSeenPressureTimeRr), writer.uint32(490).fork()).join();
5389
5413
  if (message.deckLightsOn !== void 0) writer.uint32(536).bool(message.deckLightsOn);
5390
5414
  if (message.hazardsOn !== void 0) writer.uint32(544).bool(message.hazardsOn);
5415
+ if (message.deckLightsAllowed !== void 0) writer.uint32(552).bool(message.deckLightsAllowed);
5391
5416
  if (message.legacyMediaInfo !== void 0) LegacyMediaInfo.encode(message.legacyMediaInfo, writer.uint32(578).fork()).join();
5392
5417
  if (message.allowAuthorizedMobileDevicesOnly !== void 0) writer.uint32(584).bool(message.allowAuthorizedMobileDevicesOnly);
5393
5418
  if (message.guestMode !== void 0) VehicleState_GuestMode.encode(message.guestMode, writer.uint32(594).fork()).join();
@@ -5511,6 +5536,10 @@ const VehicleState = {
5511
5536
  if (tag !== 544) break;
5512
5537
  message.hazardsOn = reader.bool();
5513
5538
  continue;
5539
+ case 69:
5540
+ if (tag !== 552) break;
5541
+ message.deckLightsAllowed = reader.bool();
5542
+ continue;
5514
5543
  case 72:
5515
5544
  if (tag !== 578) break;
5516
5545
  message.legacyMediaInfo = LegacyMediaInfo.decode(reader, reader.uint32());
@@ -5797,6 +5826,7 @@ const VehicleState = {
5797
5826
  tpmsLastSeenPressureTimeRr: isSet(object.tpmsLastSeenPressureTimeRr) ? fromJsonTimestamp(object.tpmsLastSeenPressureTimeRr) : void 0,
5798
5827
  deckLightsOn: isSet(object.deckLightsOn) ? globalThis.Boolean(object.deckLightsOn) : void 0,
5799
5828
  hazardsOn: isSet(object.hazardsOn) ? globalThis.Boolean(object.hazardsOn) : void 0,
5829
+ deckLightsAllowed: isSet(object.deckLightsAllowed) ? globalThis.Boolean(object.deckLightsAllowed) : void 0,
5800
5830
  legacyMediaInfo: isSet(object.legacyMediaInfo) ? LegacyMediaInfo.fromJSON(object.legacyMediaInfo) : void 0,
5801
5831
  allowAuthorizedMobileDevicesOnly: isSet(object.allowAuthorizedMobileDevicesOnly) ? globalThis.Boolean(object.allowAuthorizedMobileDevicesOnly) : void 0,
5802
5832
  guestMode: isSet(object.guestMode) ? VehicleState_GuestMode.fromJSON(object.guestMode) : void 0,
@@ -5878,6 +5908,7 @@ const VehicleState = {
5878
5908
  if (message.tpmsLastSeenPressureTimeRr !== void 0) obj.tpmsLastSeenPressureTimeRr = message.tpmsLastSeenPressureTimeRr.toISOString();
5879
5909
  if (message.deckLightsOn !== void 0) obj.deckLightsOn = message.deckLightsOn;
5880
5910
  if (message.hazardsOn !== void 0) obj.hazardsOn = message.hazardsOn;
5911
+ if (message.deckLightsAllowed !== void 0) obj.deckLightsAllowed = message.deckLightsAllowed;
5881
5912
  if (message.legacyMediaInfo !== void 0) obj.legacyMediaInfo = LegacyMediaInfo.toJSON(message.legacyMediaInfo);
5882
5913
  if (message.allowAuthorizedMobileDevicesOnly !== void 0) obj.allowAuthorizedMobileDevicesOnly = message.allowAuthorizedMobileDevicesOnly;
5883
5914
  if (message.guestMode !== void 0) obj.guestMode = VehicleState_GuestMode.toJSON(message.guestMode);
@@ -5962,6 +5993,7 @@ const VehicleState = {
5962
5993
  message.tpmsLastSeenPressureTimeRr = object.tpmsLastSeenPressureTimeRr ?? void 0;
5963
5994
  message.deckLightsOn = object.deckLightsOn ?? void 0;
5964
5995
  message.hazardsOn = object.hazardsOn ?? void 0;
5996
+ message.deckLightsAllowed = object.deckLightsAllowed ?? void 0;
5965
5997
  message.legacyMediaInfo = object.legacyMediaInfo !== void 0 && object.legacyMediaInfo !== null ? LegacyMediaInfo.fromPartial(object.legacyMediaInfo) : void 0;
5966
5998
  message.allowAuthorizedMobileDevicesOnly = object.allowAuthorizedMobileDevicesOnly ?? void 0;
5967
5999
  message.guestMode = object.guestMode !== void 0 && object.guestMode !== null ? VehicleState_GuestMode.fromPartial(object.guestMode) : void 0;
@@ -8197,7 +8229,8 @@ function createBaseVehicleConfig() {
8197
8229
  rearLightHardwareVariant: void 0,
8198
8230
  autopilotBase: 0,
8199
8231
  autopilotOverrideState: 0,
8200
- autopilotOverrideExpireTime: void 0
8232
+ autopilotOverrideExpireTime: void 0,
8233
+ supportsDynamicEnvironments: void 0
8201
8234
  };
8202
8235
  }
8203
8236
  const VehicleConfig = {
@@ -8275,6 +8308,7 @@ const VehicleConfig = {
8275
8308
  if (message.autopilotBase !== 0) writer.uint32(1568).int32(message.autopilotBase);
8276
8309
  if (message.autopilotOverrideState !== 0) writer.uint32(1576).int32(message.autopilotOverrideState);
8277
8310
  if (message.autopilotOverrideExpireTime !== void 0) writer.uint32(1584).int64(message.autopilotOverrideExpireTime);
8311
+ if (message.supportsDynamicEnvironments !== void 0) writer.uint32(1592).bool(message.supportsDynamicEnvironments);
8278
8312
  return writer;
8279
8313
  },
8280
8314
  decode(input, length) {
@@ -8576,6 +8610,10 @@ const VehicleConfig = {
8576
8610
  if (tag !== 1584) break;
8577
8611
  message.autopilotOverrideExpireTime = longToNumber(reader.int64());
8578
8612
  continue;
8613
+ case 199:
8614
+ if (tag !== 1592) break;
8615
+ message.supportsDynamicEnvironments = reader.bool();
8616
+ continue;
8579
8617
  }
8580
8618
  if ((tag & 7) === 4 || tag === 0) break;
8581
8619
  reader.skip(tag & 7);
@@ -8656,7 +8694,8 @@ const VehicleConfig = {
8656
8694
  rearLightHardwareVariant: isSet(object.rearLightHardwareVariant) ? vehicleConfig_RearLightHardwareVariantFromJSON(object.rearLightHardwareVariant) : void 0,
8657
8695
  autopilotBase: isSet(object.autopilotBase) ? autopilotBaseFromJSON(object.autopilotBase) : 0,
8658
8696
  autopilotOverrideState: isSet(object.autopilotOverrideState) ? autopilotOverrideStateFromJSON(object.autopilotOverrideState) : 0,
8659
- autopilotOverrideExpireTime: isSet(object.autopilotOverrideExpireTime) ? globalThis.Number(object.autopilotOverrideExpireTime) : void 0
8697
+ autopilotOverrideExpireTime: isSet(object.autopilotOverrideExpireTime) ? globalThis.Number(object.autopilotOverrideExpireTime) : void 0,
8698
+ supportsDynamicEnvironments: isSet(object.supportsDynamicEnvironments) ? globalThis.Boolean(object.supportsDynamicEnvironments) : void 0
8660
8699
  };
8661
8700
  },
8662
8701
  toJSON(message) {
@@ -8734,6 +8773,7 @@ const VehicleConfig = {
8734
8773
  if (message.autopilotBase !== void 0) obj.autopilotBase = autopilotBaseToJSON(message.autopilotBase);
8735
8774
  if (message.autopilotOverrideState !== void 0) obj.autopilotOverrideState = autopilotOverrideStateToJSON(message.autopilotOverrideState);
8736
8775
  if (message.autopilotOverrideExpireTime !== void 0) obj.autopilotOverrideExpireTime = Math.round(message.autopilotOverrideExpireTime);
8776
+ if (message.supportsDynamicEnvironments !== void 0) obj.supportsDynamicEnvironments = message.supportsDynamicEnvironments;
8737
8777
  return obj;
8738
8778
  },
8739
8779
  create(base) {
@@ -8814,6 +8854,7 @@ const VehicleConfig = {
8814
8854
  message.autopilotBase = object.autopilotBase ?? 0;
8815
8855
  message.autopilotOverrideState = object.autopilotOverrideState ?? 0;
8816
8856
  message.autopilotOverrideExpireTime = object.autopilotOverrideExpireTime ?? void 0;
8857
+ message.supportsDynamicEnvironments = object.supportsDynamicEnvironments ?? void 0;
8817
8858
  return message;
8818
8859
  }
8819
8860
  };
@@ -10147,6 +10188,70 @@ const ChildPresenceDetectionState = {
10147
10188
  return message;
10148
10189
  }
10149
10190
  };
10191
+ function createBaseDisplayState() {
10192
+ return {
10193
+ displayBrightnessAuto: false,
10194
+ displayBrightnessScalePreference: 0,
10195
+ timestamp: void 0
10196
+ };
10197
+ }
10198
+ const DisplayState = {
10199
+ encode(message, writer = new BinaryWriter()) {
10200
+ if (message.displayBrightnessAuto !== false) writer.uint32(8).bool(message.displayBrightnessAuto);
10201
+ if (message.displayBrightnessScalePreference !== 0) writer.uint32(16).uint32(message.displayBrightnessScalePreference);
10202
+ if (message.timestamp !== void 0) Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(16002).fork()).join();
10203
+ return writer;
10204
+ },
10205
+ decode(input, length) {
10206
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
10207
+ const end = length === void 0 ? reader.len : reader.pos + length;
10208
+ const message = createBaseDisplayState();
10209
+ while (reader.pos < end) {
10210
+ const tag = reader.uint32();
10211
+ switch (tag >>> 3) {
10212
+ case 1:
10213
+ if (tag !== 8) break;
10214
+ message.displayBrightnessAuto = reader.bool();
10215
+ continue;
10216
+ case 2:
10217
+ if (tag !== 16) break;
10218
+ message.displayBrightnessScalePreference = reader.uint32();
10219
+ continue;
10220
+ case 2e3:
10221
+ if (tag !== 16002) break;
10222
+ message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
10223
+ continue;
10224
+ }
10225
+ if ((tag & 7) === 4 || tag === 0) break;
10226
+ reader.skip(tag & 7);
10227
+ }
10228
+ return message;
10229
+ },
10230
+ fromJSON(object) {
10231
+ return {
10232
+ displayBrightnessAuto: isSet(object.displayBrightnessAuto) ? globalThis.Boolean(object.displayBrightnessAuto) : false,
10233
+ displayBrightnessScalePreference: isSet(object.displayBrightnessScalePreference) ? globalThis.Number(object.displayBrightnessScalePreference) : 0,
10234
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : void 0
10235
+ };
10236
+ },
10237
+ toJSON(message) {
10238
+ const obj = {};
10239
+ if (message.displayBrightnessAuto !== void 0) obj.displayBrightnessAuto = message.displayBrightnessAuto;
10240
+ if (message.displayBrightnessScalePreference !== void 0) obj.displayBrightnessScalePreference = Math.round(message.displayBrightnessScalePreference);
10241
+ if (message.timestamp !== void 0) obj.timestamp = message.timestamp.toISOString();
10242
+ return obj;
10243
+ },
10244
+ create(base) {
10245
+ return DisplayState.fromPartial(base ?? {});
10246
+ },
10247
+ fromPartial(object) {
10248
+ const message = createBaseDisplayState();
10249
+ message.displayBrightnessAuto = object.displayBrightnessAuto ?? false;
10250
+ message.displayBrightnessScalePreference = object.displayBrightnessScalePreference ?? 0;
10251
+ message.timestamp = object.timestamp ?? void 0;
10252
+ return message;
10253
+ }
10254
+ };
10150
10255
  function createBaseVehicleDetailState() {
10151
10256
  return {
10152
10257
  timestamp: void 0,
@@ -10156,7 +10261,8 @@ function createBaseVehicleDetailState() {
10156
10261
  autopilotHash: void 0,
10157
10262
  fsdSoftwareVersion: void 0,
10158
10263
  currentProfileName: void 0,
10159
- chinaAutopilotSoftwareVersion: void 0
10264
+ chinaAutopilotSoftwareVersion: void 0,
10265
+ isFsdV14OrAbove: void 0
10160
10266
  };
10161
10267
  }
10162
10268
  const VehicleDetailState = {
@@ -10169,6 +10275,7 @@ const VehicleDetailState = {
10169
10275
  if (message.fsdSoftwareVersion !== void 0) writer.uint32(50).string(message.fsdSoftwareVersion);
10170
10276
  if (message.currentProfileName !== void 0) writer.uint32(58).string(message.currentProfileName);
10171
10277
  if (message.chinaAutopilotSoftwareVersion !== void 0) writer.uint32(66).string(message.chinaAutopilotSoftwareVersion);
10278
+ if (message.isFsdV14OrAbove !== void 0) writer.uint32(72).bool(message.isFsdV14OrAbove);
10172
10279
  return writer;
10173
10280
  },
10174
10281
  decode(input, length) {
@@ -10210,6 +10317,10 @@ const VehicleDetailState = {
10210
10317
  if (tag !== 66) break;
10211
10318
  message.chinaAutopilotSoftwareVersion = reader.string();
10212
10319
  continue;
10320
+ case 9:
10321
+ if (tag !== 72) break;
10322
+ message.isFsdV14OrAbove = reader.bool();
10323
+ continue;
10213
10324
  }
10214
10325
  if ((tag & 7) === 4 || tag === 0) break;
10215
10326
  reader.skip(tag & 7);
@@ -10225,7 +10336,8 @@ const VehicleDetailState = {
10225
10336
  autopilotHash: isSet(object.autopilotHash) ? globalThis.String(object.autopilotHash) : void 0,
10226
10337
  fsdSoftwareVersion: isSet(object.fsdSoftwareVersion) ? globalThis.String(object.fsdSoftwareVersion) : void 0,
10227
10338
  currentProfileName: isSet(object.currentProfileName) ? globalThis.String(object.currentProfileName) : void 0,
10228
- chinaAutopilotSoftwareVersion: isSet(object.chinaAutopilotSoftwareVersion) ? globalThis.String(object.chinaAutopilotSoftwareVersion) : void 0
10339
+ chinaAutopilotSoftwareVersion: isSet(object.chinaAutopilotSoftwareVersion) ? globalThis.String(object.chinaAutopilotSoftwareVersion) : void 0,
10340
+ isFsdV14OrAbove: isSet(object.isFsdV14OrAbove) ? globalThis.Boolean(object.isFsdV14OrAbove) : void 0
10229
10341
  };
10230
10342
  },
10231
10343
  toJSON(message) {
@@ -10238,6 +10350,7 @@ const VehicleDetailState = {
10238
10350
  if (message.fsdSoftwareVersion !== void 0) obj.fsdSoftwareVersion = message.fsdSoftwareVersion;
10239
10351
  if (message.currentProfileName !== void 0) obj.currentProfileName = message.currentProfileName;
10240
10352
  if (message.chinaAutopilotSoftwareVersion !== void 0) obj.chinaAutopilotSoftwareVersion = message.chinaAutopilotSoftwareVersion;
10353
+ if (message.isFsdV14OrAbove !== void 0) obj.isFsdV14OrAbove = message.isFsdV14OrAbove;
10241
10354
  return obj;
10242
10355
  },
10243
10356
  create(base) {
@@ -10253,6 +10366,7 @@ const VehicleDetailState = {
10253
10366
  message.fsdSoftwareVersion = object.fsdSoftwareVersion ?? void 0;
10254
10367
  message.currentProfileName = object.currentProfileName ?? void 0;
10255
10368
  message.chinaAutopilotSoftwareVersion = object.chinaAutopilotSoftwareVersion ?? void 0;
10369
+ message.isFsdV14OrAbove = object.isFsdV14OrAbove ?? void 0;
10256
10370
  return message;
10257
10371
  }
10258
10372
  };
@@ -10301,4 +10415,4 @@ function isSet(value) {
10301
10415
  return value !== null && value !== void 0;
10302
10416
  }
10303
10417
  //#endregion
10304
- export { AlertState, AutopilotBase, AutopilotOverrideState, ChargeOnSolarState, ChargeOnSolarStateChargingOnAnything, ChargeOnSolarStateChargingOnExcessSolar, ChargeOnSolarStateError, ChargeOnSolarStateNoChargeRecommended, ChargeOnSolarStateNotAllowed, ChargeOnSolarStateUserDisabled, ChargeOnSolarStateUserStopped, ChargeOnSolarStateWaitingForServer, ChargeScheduleState, ChargeState, ChargeState_CableType, ChargeState_ChargeLimitReason, ChargeState_ChargePortColorE, ChargeState_ChargerBrand, ChargeState_ChargerType, ChargeState_ChargingState, ChargeState_OutletState, ChargeState_PowerFeedState, ChargeState_PowershareStatus, ChargeState_PowershareStopReason, ChargeState_PowershareType, ChargeState_ScheduledChargingMode, ChildPresenceDetectionState, ClimateState, ClimateState_COPNotRunningReason, ClimateState_CabinOverheatProtectionE, ClimateState_ClimateKeeperMode, ClimateState_CopActivationTemp, ClimateState_DefrostMode, ClimateState_DogModeState, ClimateState_HvacAutoRequest, ClimateState_SeatCoolingLevelE, ClimateState_SeatHeaterLevelE, ClosuresState, ClosuresState_DisplayState, ClosuresState_SentryModeState, ClosuresState_SunRoofState, DashCamState, DriveState, DriveState_FsdLast7DaysUsage, DriveState_FsdMonthlyMileage, GuiSettings, GuiSettings_TirePressureUnit, LegacyMediaInfo, LegacyMediaState, LightShowOption, LightShowSettings, LightShowState, LocationState, LocationState_GPSCoordinateType, ManagedChargingState, MediaDetailState, MediaSourceType, MediaState, ParentalControlsSettings, ParentalControlsState, ParkedAccessoryState, PreconditioningScheduleState, ShiftState, SoftwareUpdateState, SoftwareUpdateState_SoftwareUpdateStatus, SohState, SohState_SohResult, SohState_SohTestEndMode, SohState_SohTestPhase, SohState_SohTestState, SohState_WarrantyServiceResult, SpeedLimitMode, SuspensionState, TheaterSource, TirePressureState, VehicleConfig, VehicleConfig_AuxParkLampsE, VehicleConfig_BadgingMaterialType, VehicleConfig_BedLightingType, VehicleConfig_DrivetrainType, VehicleConfig_ExteriorTrimType, VehicleConfig_FrontFasciaCameraType, VehicleConfig_HeadlampTypeE, VehicleConfig_InteriorTrimType, VehicleConfig_InteriorUpperTrimType, VehicleConfig_RearLightHardwareVariant, VehicleConfig_RearLightType, VehicleConfig_SeatTrimType, VehicleConfig_TurnIndicatorControlType, VehicleData, VehicleDetailState, VehicleImage, VehicleImageData, VehicleImageState, VehicleImageStateType, VehicleState, VehicleState_GuestMode, autopilotBaseFromJSON, autopilotBaseToJSON, autopilotOverrideStateFromJSON, autopilotOverrideStateToJSON, chargeState_ChargeLimitReasonFromJSON, chargeState_ChargeLimitReasonToJSON, chargeState_ChargePortColorEFromJSON, chargeState_ChargePortColorEToJSON, chargeState_OutletStateFromJSON, chargeState_OutletStateToJSON, chargeState_PowerFeedStateFromJSON, chargeState_PowerFeedStateToJSON, chargeState_PowershareStatusFromJSON, chargeState_PowershareStatusToJSON, chargeState_PowershareStopReasonFromJSON, chargeState_PowershareStopReasonToJSON, chargeState_PowershareTypeFromJSON, chargeState_PowershareTypeToJSON, chargeState_ScheduledChargingModeFromJSON, chargeState_ScheduledChargingModeToJSON, climateState_COPNotRunningReasonFromJSON, climateState_COPNotRunningReasonToJSON, climateState_CabinOverheatProtectionEFromJSON, climateState_CabinOverheatProtectionEToJSON, climateState_CopActivationTempFromJSON, climateState_CopActivationTempToJSON, climateState_DogModeStateFromJSON, climateState_DogModeStateToJSON, climateState_HvacAutoRequestFromJSON, climateState_HvacAutoRequestToJSON, climateState_SeatCoolingLevelEFromJSON, climateState_SeatCoolingLevelEToJSON, climateState_SeatHeaterLevelEFromJSON, climateState_SeatHeaterLevelEToJSON, dashCamStateFromJSON, dashCamStateToJSON, guiSettings_TirePressureUnitFromJSON, guiSettings_TirePressureUnitToJSON, mediaSourceTypeFromJSON, mediaSourceTypeToJSON, protobufPackage, sohState_WarrantyServiceResultFromJSON, sohState_WarrantyServiceResultToJSON, theaterSourceFromJSON, theaterSourceToJSON, vehicleConfig_AuxParkLampsEFromJSON, vehicleConfig_AuxParkLampsEToJSON, vehicleConfig_BadgingMaterialTypeFromJSON, vehicleConfig_BadgingMaterialTypeToJSON, vehicleConfig_BedLightingTypeFromJSON, vehicleConfig_BedLightingTypeToJSON, vehicleConfig_DrivetrainTypeFromJSON, vehicleConfig_DrivetrainTypeToJSON, vehicleConfig_FrontFasciaCameraTypeFromJSON, vehicleConfig_FrontFasciaCameraTypeToJSON, vehicleConfig_HeadlampTypeEFromJSON, vehicleConfig_HeadlampTypeEToJSON, vehicleConfig_InteriorUpperTrimTypeFromJSON, vehicleConfig_InteriorUpperTrimTypeToJSON, vehicleConfig_RearLightHardwareVariantFromJSON, vehicleConfig_RearLightHardwareVariantToJSON, vehicleConfig_RearLightTypeFromJSON, vehicleConfig_RearLightTypeToJSON, vehicleConfig_SeatTrimTypeFromJSON, vehicleConfig_SeatTrimTypeToJSON, vehicleConfig_TurnIndicatorControlTypeFromJSON, vehicleConfig_TurnIndicatorControlTypeToJSON, vehicleImageStateTypeFromJSON, vehicleImageStateTypeToJSON };
10418
+ export { AlertState, AutopilotBase, AutopilotOverrideState, ChargeOnSolarState, ChargeOnSolarStateChargingOnAnything, ChargeOnSolarStateChargingOnExcessSolar, ChargeOnSolarStateError, ChargeOnSolarStateNoChargeRecommended, ChargeOnSolarStateNotAllowed, ChargeOnSolarStateUserDisabled, ChargeOnSolarStateUserStopped, ChargeOnSolarStateWaitingForServer, ChargeScheduleState, ChargeState, ChargeState_CableType, ChargeState_ChargeLimitReason, ChargeState_ChargePortColorE, ChargeState_ChargerBrand, ChargeState_ChargerType, ChargeState_ChargingState, ChargeState_OutletState, ChargeState_PowerFeedState, ChargeState_PowershareStatus, ChargeState_PowershareStopReason, ChargeState_PowershareType, ChargeState_ScheduledChargingMode, ChildPresenceDetectionState, ClimateState, ClimateState_COPNotRunningReason, ClimateState_CabinOverheatProtectionE, ClimateState_ClimateKeeperMode, ClimateState_CopActivationTemp, ClimateState_DefrostMode, ClimateState_DogModeState, ClimateState_HvacAutoRequest, ClimateState_SeatCoolingLevelE, ClimateState_SeatHeaterLevelE, ClosuresState, ClosuresState_DisplayState, ClosuresState_SentryModeState, ClosuresState_SunRoofState, DashCamState, DisplayState, DriveState, DriveState_FsdLast7DaysUsage, DriveState_FsdMonthlyMileage, GuiSettings, GuiSettings_TirePressureUnit, LegacyMediaInfo, LegacyMediaState, LightShowOption, LightShowSettings, LightShowState, LocationState, LocationState_GPSCoordinateType, ManagedChargingState, MediaDetailState, MediaSourceType, MediaState, ParentalControlsSettings, ParentalControlsState, ParkedAccessoryState, PreconditioningScheduleState, ShiftState, SoftwareUpdateState, SoftwareUpdateState_SoftwareUpdateStatus, SohState, SohState_SohResult, SohState_SohTestEndMode, SohState_SohTestPhase, SohState_SohTestState, SohState_WarrantyServiceResult, SpeedLimitMode, SuspensionState, TheaterSource, TirePressureState, VehicleConfig, VehicleConfig_AuxParkLampsE, VehicleConfig_BadgingMaterialType, VehicleConfig_BedLightingType, VehicleConfig_DrivetrainType, VehicleConfig_ExteriorTrimType, VehicleConfig_FrontFasciaCameraType, VehicleConfig_HeadlampTypeE, VehicleConfig_InteriorTrimType, VehicleConfig_InteriorUpperTrimType, VehicleConfig_RearLightHardwareVariant, VehicleConfig_RearLightType, VehicleConfig_SeatTrimType, VehicleConfig_TurnIndicatorControlType, VehicleData, VehicleDetailState, VehicleImage, VehicleImageData, VehicleImageState, VehicleImageStateType, VehicleState, VehicleState_GuestMode, autopilotBaseFromJSON, autopilotBaseToJSON, autopilotOverrideStateFromJSON, autopilotOverrideStateToJSON, chargeState_ChargeLimitReasonFromJSON, chargeState_ChargeLimitReasonToJSON, chargeState_ChargePortColorEFromJSON, chargeState_ChargePortColorEToJSON, chargeState_OutletStateFromJSON, chargeState_OutletStateToJSON, chargeState_PowerFeedStateFromJSON, chargeState_PowerFeedStateToJSON, chargeState_PowershareStatusFromJSON, chargeState_PowershareStatusToJSON, chargeState_PowershareStopReasonFromJSON, chargeState_PowershareStopReasonToJSON, chargeState_PowershareTypeFromJSON, chargeState_PowershareTypeToJSON, chargeState_ScheduledChargingModeFromJSON, chargeState_ScheduledChargingModeToJSON, climateState_COPNotRunningReasonFromJSON, climateState_COPNotRunningReasonToJSON, climateState_CabinOverheatProtectionEFromJSON, climateState_CabinOverheatProtectionEToJSON, climateState_CopActivationTempFromJSON, climateState_CopActivationTempToJSON, climateState_DogModeStateFromJSON, climateState_DogModeStateToJSON, climateState_HvacAutoRequestFromJSON, climateState_HvacAutoRequestToJSON, climateState_SeatCoolingLevelEFromJSON, climateState_SeatCoolingLevelEToJSON, climateState_SeatHeaterLevelEFromJSON, climateState_SeatHeaterLevelEToJSON, dashCamStateFromJSON, dashCamStateToJSON, guiSettings_TirePressureUnitFromJSON, guiSettings_TirePressureUnitToJSON, mediaSourceTypeFromJSON, mediaSourceTypeToJSON, protobufPackage, sohState_WarrantyServiceResultFromJSON, sohState_WarrantyServiceResultToJSON, theaterSourceFromJSON, theaterSourceToJSON, vehicleConfig_AuxParkLampsEFromJSON, vehicleConfig_AuxParkLampsEToJSON, vehicleConfig_BadgingMaterialTypeFromJSON, vehicleConfig_BadgingMaterialTypeToJSON, vehicleConfig_BedLightingTypeFromJSON, vehicleConfig_BedLightingTypeToJSON, vehicleConfig_DrivetrainTypeFromJSON, vehicleConfig_DrivetrainTypeToJSON, vehicleConfig_FrontFasciaCameraTypeFromJSON, vehicleConfig_FrontFasciaCameraTypeToJSON, vehicleConfig_HeadlampTypeEFromJSON, vehicleConfig_HeadlampTypeEToJSON, vehicleConfig_InteriorUpperTrimTypeFromJSON, vehicleConfig_InteriorUpperTrimTypeToJSON, vehicleConfig_RearLightHardwareVariantFromJSON, vehicleConfig_RearLightHardwareVariantToJSON, vehicleConfig_RearLightTypeFromJSON, vehicleConfig_RearLightTypeToJSON, vehicleConfig_SeatTrimTypeFromJSON, vehicleConfig_SeatTrimTypeToJSON, vehicleConfig_TurnIndicatorControlTypeFromJSON, vehicleConfig_TurnIndicatorControlTypeToJSON, vehicleImageStateTypeFromJSON, vehicleImageStateTypeToJSON };
@@ -291,6 +291,17 @@ let Field = /* @__PURE__ */ function(Field) {
291
291
  Field[Field["Deprecated_3"] = 257] = "Deprecated_3";
292
292
  Field[Field["MilesSinceReset"] = 258] = "MilesSinceReset";
293
293
  Field[Field["SelfDrivingMilesSinceReset"] = 259] = "SelfDrivingMilesSinceReset";
294
+ Field[Field["GpsAccuracyMeters"] = 260] = "GpsAccuracyMeters";
295
+ Field[Field["LifetimeEnergyChargedKwh"] = 261] = "LifetimeEnergyChargedKwh";
296
+ Field[Field["BrickSocMinPercent"] = 262] = "BrickSocMinPercent";
297
+ Field[Field["NominalFullPackEnergyKwh"] = 263] = "NominalFullPackEnergyKwh";
298
+ Field[Field["GradeEstimatePercent"] = 264] = "GradeEstimatePercent";
299
+ Field[Field["MaxSpeedToReachDestinationMph"] = 265] = "MaxSpeedToReachDestinationMph";
300
+ Field[Field["SoftwareUpdateAvailable"] = 266] = "SoftwareUpdateAvailable";
301
+ Field[Field["SoftwareUpdateInProgress"] = 267] = "SoftwareUpdateInProgress";
302
+ Field[Field["RemoteStartActive"] = 268] = "RemoteStartActive";
303
+ /** SemiCruiseSpeedLimitMph - Semi-truck only */
304
+ Field[Field["SemiCruiseSpeedLimitMph"] = 269] = "SemiCruiseSpeedLimitMph";
294
305
  Field[Field["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
295
306
  return Field;
296
307
  }({});
@@ -816,6 +827,26 @@ function fieldFromJSON(object) {
816
827
  case "MilesSinceReset": return 258;
817
828
  case 259:
818
829
  case "SelfDrivingMilesSinceReset": return 259;
830
+ case 260:
831
+ case "GpsAccuracyMeters": return 260;
832
+ case 261:
833
+ case "LifetimeEnergyChargedKwh": return 261;
834
+ case 262:
835
+ case "BrickSocMinPercent": return 262;
836
+ case 263:
837
+ case "NominalFullPackEnergyKwh": return 263;
838
+ case 264:
839
+ case "GradeEstimatePercent": return 264;
840
+ case 265:
841
+ case "MaxSpeedToReachDestinationMph": return 265;
842
+ case 266:
843
+ case "SoftwareUpdateAvailable": return 266;
844
+ case 267:
845
+ case "SoftwareUpdateInProgress": return 267;
846
+ case 268:
847
+ case "RemoteStartActive": return 268;
848
+ case 269:
849
+ case "SemiCruiseSpeedLimitMph": return 269;
819
850
  default: return -1;
820
851
  }
821
852
  }
@@ -1081,6 +1112,16 @@ function fieldToJSON(object) {
1081
1112
  case 257: return "Deprecated_3";
1082
1113
  case 258: return "MilesSinceReset";
1083
1114
  case 259: return "SelfDrivingMilesSinceReset";
1115
+ case 260: return "GpsAccuracyMeters";
1116
+ case 261: return "LifetimeEnergyChargedKwh";
1117
+ case 262: return "BrickSocMinPercent";
1118
+ case 263: return "NominalFullPackEnergyKwh";
1119
+ case 264: return "GradeEstimatePercent";
1120
+ case 265: return "MaxSpeedToReachDestinationMph";
1121
+ case 266: return "SoftwareUpdateAvailable";
1122
+ case 267: return "SoftwareUpdateInProgress";
1123
+ case 268: return "RemoteStartActive";
1124
+ case 269: return "SemiCruiseSpeedLimitMph";
1084
1125
  default: return "UNRECOGNIZED";
1085
1126
  }
1086
1127
  }
@@ -289,6 +289,17 @@ declare enum Field {
289
289
  Deprecated_3 = 257,
290
290
  MilesSinceReset = 258,
291
291
  SelfDrivingMilesSinceReset = 259,
292
+ GpsAccuracyMeters = 260,
293
+ LifetimeEnergyChargedKwh = 261,
294
+ BrickSocMinPercent = 262,
295
+ NominalFullPackEnergyKwh = 263,
296
+ GradeEstimatePercent = 264,
297
+ MaxSpeedToReachDestinationMph = 265,
298
+ SoftwareUpdateAvailable = 266,
299
+ SoftwareUpdateInProgress = 267,
300
+ RemoteStartActive = 268,
301
+ /** SemiCruiseSpeedLimitMph - Semi-truck only */
302
+ SemiCruiseSpeedLimitMph = 269,
292
303
  UNRECOGNIZED = -1
293
304
  }
294
305
  declare function fieldFromJSON(object: any): Field;
@@ -289,6 +289,17 @@ declare enum Field {
289
289
  Deprecated_3 = 257,
290
290
  MilesSinceReset = 258,
291
291
  SelfDrivingMilesSinceReset = 259,
292
+ GpsAccuracyMeters = 260,
293
+ LifetimeEnergyChargedKwh = 261,
294
+ BrickSocMinPercent = 262,
295
+ NominalFullPackEnergyKwh = 263,
296
+ GradeEstimatePercent = 264,
297
+ MaxSpeedToReachDestinationMph = 265,
298
+ SoftwareUpdateAvailable = 266,
299
+ SoftwareUpdateInProgress = 267,
300
+ RemoteStartActive = 268,
301
+ /** SemiCruiseSpeedLimitMph - Semi-truck only */
302
+ SemiCruiseSpeedLimitMph = 269,
292
303
  UNRECOGNIZED = -1
293
304
  }
294
305
  declare function fieldFromJSON(object: any): Field;
@@ -290,6 +290,17 @@ let Field = /* @__PURE__ */ function(Field) {
290
290
  Field[Field["Deprecated_3"] = 257] = "Deprecated_3";
291
291
  Field[Field["MilesSinceReset"] = 258] = "MilesSinceReset";
292
292
  Field[Field["SelfDrivingMilesSinceReset"] = 259] = "SelfDrivingMilesSinceReset";
293
+ Field[Field["GpsAccuracyMeters"] = 260] = "GpsAccuracyMeters";
294
+ Field[Field["LifetimeEnergyChargedKwh"] = 261] = "LifetimeEnergyChargedKwh";
295
+ Field[Field["BrickSocMinPercent"] = 262] = "BrickSocMinPercent";
296
+ Field[Field["NominalFullPackEnergyKwh"] = 263] = "NominalFullPackEnergyKwh";
297
+ Field[Field["GradeEstimatePercent"] = 264] = "GradeEstimatePercent";
298
+ Field[Field["MaxSpeedToReachDestinationMph"] = 265] = "MaxSpeedToReachDestinationMph";
299
+ Field[Field["SoftwareUpdateAvailable"] = 266] = "SoftwareUpdateAvailable";
300
+ Field[Field["SoftwareUpdateInProgress"] = 267] = "SoftwareUpdateInProgress";
301
+ Field[Field["RemoteStartActive"] = 268] = "RemoteStartActive";
302
+ /** SemiCruiseSpeedLimitMph - Semi-truck only */
303
+ Field[Field["SemiCruiseSpeedLimitMph"] = 269] = "SemiCruiseSpeedLimitMph";
293
304
  Field[Field["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
294
305
  return Field;
295
306
  }({});
@@ -815,6 +826,26 @@ function fieldFromJSON(object) {
815
826
  case "MilesSinceReset": return 258;
816
827
  case 259:
817
828
  case "SelfDrivingMilesSinceReset": return 259;
829
+ case 260:
830
+ case "GpsAccuracyMeters": return 260;
831
+ case 261:
832
+ case "LifetimeEnergyChargedKwh": return 261;
833
+ case 262:
834
+ case "BrickSocMinPercent": return 262;
835
+ case 263:
836
+ case "NominalFullPackEnergyKwh": return 263;
837
+ case 264:
838
+ case "GradeEstimatePercent": return 264;
839
+ case 265:
840
+ case "MaxSpeedToReachDestinationMph": return 265;
841
+ case 266:
842
+ case "SoftwareUpdateAvailable": return 266;
843
+ case 267:
844
+ case "SoftwareUpdateInProgress": return 267;
845
+ case 268:
846
+ case "RemoteStartActive": return 268;
847
+ case 269:
848
+ case "SemiCruiseSpeedLimitMph": return 269;
818
849
  default: return -1;
819
850
  }
820
851
  }
@@ -1080,6 +1111,16 @@ function fieldToJSON(object) {
1080
1111
  case 257: return "Deprecated_3";
1081
1112
  case 258: return "MilesSinceReset";
1082
1113
  case 259: return "SelfDrivingMilesSinceReset";
1114
+ case 260: return "GpsAccuracyMeters";
1115
+ case 261: return "LifetimeEnergyChargedKwh";
1116
+ case 262: return "BrickSocMinPercent";
1117
+ case 263: return "NominalFullPackEnergyKwh";
1118
+ case 264: return "GradeEstimatePercent";
1119
+ case 265: return "MaxSpeedToReachDestinationMph";
1120
+ case 266: return "SoftwareUpdateAvailable";
1121
+ case 267: return "SoftwareUpdateInProgress";
1122
+ case 268: return "RemoteStartActive";
1123
+ case 269: return "SemiCruiseSpeedLimitMph";
1083
1124
  default: return "UNRECOGNIZED";
1084
1125
  }
1085
1126
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teslemetry/tesla-protocol",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Tesla vehicle-command, fleet-telemetry and energy protobuf types for TypeScript, generated with ts-proto",
5
5
  "license": "Apache-2.0",
6
6
  "author": {