@nanolink/mirrors 1.0.41 → 1.0.43

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.
@@ -121,23 +121,25 @@ class SubscriptionClient extends eventemitter3_1.default {
121
121
  this.emit('error', err);
122
122
  this.log('socket error', err);
123
123
  },
124
- closed: (ev) => {
125
- var _a, _b, _c, _d, _e;
124
+ closed: (ev) => __awaiter(this, void 0, void 0, function* () {
125
+ var _a, _b, _c, _d;
126
126
  try {
127
127
  const e = ev;
128
128
  this.log('closed', e);
129
129
  this.emit('disconnected', { code: e.code, reason: (_c = (_b = (_a = e.reason) === null || _a === void 0 ? void 0 : _a.toString) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : '', wasClean: (_d = e.wasClean) !== null && _d !== void 0 ? _d : false });
130
130
  try {
131
- (_e = this.client) === null || _e === void 0 ? void 0 : _e.dispose();
131
+ if (this.client) {
132
+ yield this.client.dispose();
133
+ }
132
134
  }
133
- catch (_f) { }
135
+ catch (_e) { }
134
136
  }
135
137
  finally {
136
138
  this.client = null; // allow recreate
137
139
  if (!this.closedExplicitly)
138
140
  this.scheduleReconnect();
139
141
  }
140
- },
142
+ }),
141
143
  },
142
144
  });
143
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionClient.js","sourceRoot":"","sources":["../src/SubscriptionClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubscriptionClient.js","sourceRoot":"","sources":["../src/SubscriptionClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const references = "\n subscription References($version:Int!) {\n mreference_getbulk(version: $version, subscribe:true)\n {\n type total deleteId deleteVersion\n data {\n __typename\n ... on QMUser {\n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n mobilePhoneNumber\n mobileCountryCode\n firstName\n middleName\n lastName\n fullName\n email\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n },\n isAzureADUser\n authProvider\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMAsset { \n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n brand \n model \n keyWords\n description\n serial \n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMVehicle {\n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMSite { \n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n name\n type\n geoArea {\n longitude\n latitude\n }\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n } \n }\n}";
1
+ export declare const references = "\n subscription References($version:Int!) {\n mreference_getbulk(version: $version, subscribe:true)\n {\n type total deleteId deleteVersion\n data {\n __typename\n ... on QMUser {\n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n mobilePhoneNumber\n mobileCountryCode\n firstName\n middleName\n lastName\n fullName\n email\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n },\n isAzureADUser\n authProvider\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMAsset { \n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n brand \n model \n keyWords\n description\n serial \n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMVehicle {\n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n registration\n registrationStatus\n vin\n brand\n brandId\n model\n modelId\n serial\n modelYear\n keyWords\n description\n variant\n variantId\n vVersion\n vVersionId\n bodyType\n usage\n extended {\n category\n ecTypeApproval\n euVariant\n euVersion\n extraEquipment\n firstRegistrationDate\n fuelType\n kind\n lastInspectionDate\n lastInspectionKind\n lastInspectionResult\n leasingPeriodEnd\n leasingPeriodStart\n mileage\n mileageAnnualAverage\n ncapFive\n registrationStatusUpdatedAt\n status\n statusUpdatedAt\n weight {\n technicalTotalWeight\n totalWeight\n vehicleWeight\n driveableWeightMinimum\n driveableWeightMaximum\n vValueAirSuspension\n vValueMechanicalSuspension\n roadTrainWeight\n couplingDevice\n couplingDeviceLoadMaximum\n trailerWithBrakesWeightMaximum\n trailerWithoutBrakesWeightMaximum\n trailerTotalWeightMaximum\n division\n }\n age {\n years\n months\n }\n axle {\n axles\n axleTrack\n pullingAxlesString\n driveShaftPressureMaximum\n trailerAllowedPressureMaximum\n }\n body {\n doors\n vinPlacement\n trackWidthFront\n trackWidthRear\n passengers\n seatsMinimum\n seatsMaximum\n standingPassengersMinimum\n standingPassengersMaximum\n rimsAndTires\n color\n }\n periodicTaxes {\n taxes {\n name\n amount\n paymentFrequency\n }\n totalAmount\n paymentFrequency\n }\n leasingPeriods {\n leasingPeriodStart\n leasingPeriodEnd\n }\n permits {\n id\n name\n comment\n validFrom\n validTo\n }\n manufacturer {\n name\n region\n country\n }\n drivingLicense {\n category\n }\n emission {\n co2\n co\n hcPlusNox\n nox\n particles\n particleFilter\n smokeDensity\n smokeDensityEngineSpeed\n energyClass\n euronorm\n }\n engine {\n fuelEfficiency\n electricityEfficiency\n topSpeed\n fuelType\n cylinders\n engineCode\n engineDisplacement\n enginePower\n horsepower\n powerToWeightRatio\n }\n equipment {\n id\n name\n quantity\n }\n inspections {\n id\n vehicleId\n registration\n vin\n date\n result\n mileage\n pdf\n }\n }\n }\n ... on QMSite { \n id:idStr version createdDateTime\n groupId groupName groupPath labels canAnonymize tokenCount\n name\n type\n geoArea {\n longitude\n latitude\n }\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} due dueSlackInDays }\n ... on QMServiceDataPeriodic { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { id createdDateTime servicePlanId userId lastServiceDate lastLog {id eventCode stamp serviceDataId userId comment} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n } \n }\n}";
@@ -79,6 +79,151 @@ exports.references = `
79
79
  externalIds { key value }
80
80
  externalBag
81
81
  deleted
82
+ registration
83
+ registrationStatus
84
+ vin
85
+ brand
86
+ brandId
87
+ model
88
+ modelId
89
+ serial
90
+ modelYear
91
+ keyWords
92
+ description
93
+ variant
94
+ variantId
95
+ vVersion
96
+ vVersionId
97
+ bodyType
98
+ usage
99
+ extended {
100
+ category
101
+ ecTypeApproval
102
+ euVariant
103
+ euVersion
104
+ extraEquipment
105
+ firstRegistrationDate
106
+ fuelType
107
+ kind
108
+ lastInspectionDate
109
+ lastInspectionKind
110
+ lastInspectionResult
111
+ leasingPeriodEnd
112
+ leasingPeriodStart
113
+ mileage
114
+ mileageAnnualAverage
115
+ ncapFive
116
+ registrationStatusUpdatedAt
117
+ status
118
+ statusUpdatedAt
119
+ weight {
120
+ technicalTotalWeight
121
+ totalWeight
122
+ vehicleWeight
123
+ driveableWeightMinimum
124
+ driveableWeightMaximum
125
+ vValueAirSuspension
126
+ vValueMechanicalSuspension
127
+ roadTrainWeight
128
+ couplingDevice
129
+ couplingDeviceLoadMaximum
130
+ trailerWithBrakesWeightMaximum
131
+ trailerWithoutBrakesWeightMaximum
132
+ trailerTotalWeightMaximum
133
+ division
134
+ }
135
+ age {
136
+ years
137
+ months
138
+ }
139
+ axle {
140
+ axles
141
+ axleTrack
142
+ pullingAxlesString
143
+ driveShaftPressureMaximum
144
+ trailerAllowedPressureMaximum
145
+ }
146
+ body {
147
+ doors
148
+ vinPlacement
149
+ trackWidthFront
150
+ trackWidthRear
151
+ passengers
152
+ seatsMinimum
153
+ seatsMaximum
154
+ standingPassengersMinimum
155
+ standingPassengersMaximum
156
+ rimsAndTires
157
+ color
158
+ }
159
+ periodicTaxes {
160
+ taxes {
161
+ name
162
+ amount
163
+ paymentFrequency
164
+ }
165
+ totalAmount
166
+ paymentFrequency
167
+ }
168
+ leasingPeriods {
169
+ leasingPeriodStart
170
+ leasingPeriodEnd
171
+ }
172
+ permits {
173
+ id
174
+ name
175
+ comment
176
+ validFrom
177
+ validTo
178
+ }
179
+ manufacturer {
180
+ name
181
+ region
182
+ country
183
+ }
184
+ drivingLicense {
185
+ category
186
+ }
187
+ emission {
188
+ co2
189
+ co
190
+ hcPlusNox
191
+ nox
192
+ particles
193
+ particleFilter
194
+ smokeDensity
195
+ smokeDensityEngineSpeed
196
+ energyClass
197
+ euronorm
198
+ }
199
+ engine {
200
+ fuelEfficiency
201
+ electricityEfficiency
202
+ topSpeed
203
+ fuelType
204
+ cylinders
205
+ engineCode
206
+ engineDisplacement
207
+ enginePower
208
+ horsepower
209
+ powerToWeightRatio
210
+ }
211
+ equipment {
212
+ id
213
+ name
214
+ quantity
215
+ }
216
+ inspections {
217
+ id
218
+ vehicleId
219
+ registration
220
+ vin
221
+ date
222
+ result
223
+ mileage
224
+ pdf
225
+ }
226
+ }
82
227
  }
83
228
  ... on QMSite {
84
229
  ${fragments_1.commonFields}
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/definitions/subscriptions/references.ts"],"names":[],"mappings":";;;AAAA,4CAA0G;AAE7F,QAAA,UAAU,GAAG;;;;cAIZ,yBAAa;;;;sBAIL,wBAAY;sBACZ,iCAAqB;;;;;;;;;;;;;wDAaa,mCAAuB;yDACtB,mCAAuB;yDACvB,mCAAuB;gEAChB,mCAAuB;mEACpB,mCAAuB;;;;;;;;;;sBAUpE,wBAAY;sBACZ,iCAAqB;;;;;;;;;;;wDAWa,mCAAuB;0DACrB,mCAAuB;0DACvB,mCAAuB;gEACjB,mCAAuB;mEACpB,mCAAuB;;;;;;;;sBAQpE,wBAAY;sBACZ,iCAAqB;;;;;;wDAMa,mCAAuB;0DACrB,mCAAuB;0DACvB,mCAAuB;gEACjB,mCAAuB;mEACpB,mCAAuB;;;;;;;;sBAQpE,wBAAY;sBACZ,iCAAqB;;;;;;;;;;;;wDAYa,mCAAuB;0DACrB,mCAAuB;0DACvB,mCAAuB;gEACjB,mCAAuB;mEACpB,mCAAuB;;;;;;;;;EASxF,CAAA"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/definitions/subscriptions/references.ts"],"names":[],"mappings":";;;AAAA,4CAA0G;AAE7F,QAAA,UAAU,GAAG;;;;cAIZ,yBAAa;;;;sBAIL,wBAAY;sBACZ,iCAAqB;;;;;;;;;;;;;wDAaa,mCAAuB;yDACtB,mCAAuB;yDACvB,mCAAuB;gEAChB,mCAAuB;mEACpB,mCAAuB;;;;;;;;;;sBAUpE,wBAAY;sBACZ,iCAAqB;;;;;;;;;;;wDAWa,mCAAuB;0DACrB,mCAAuB;0DACvB,mCAAuB;gEACjB,mCAAuB;mEACpB,mCAAuB;;;;;;;;sBAQpE,wBAAY;sBACZ,iCAAqB;;;;;;wDAMa,mCAAuB;0DACrB,mCAAuB;0DACvB,mCAAuB;gEACjB,mCAAuB;mEACpB,mCAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAyJpE,wBAAY;sBACZ,iCAAqB;;;;;;;;;;;;wDAYa,mCAAuB;0DACrB,mCAAuB;0DACvB,mCAAuB;gEACjB,mCAAuB;mEACpB,mCAAuB;;;;;;;;;EASxF,CAAA"}
@@ -1164,14 +1164,16 @@ var SubscriptionClient = class extends import_eventemitter32.default {
1164
1164
  this.emit("error", err);
1165
1165
  this.log("socket error", err);
1166
1166
  },
1167
- closed: (ev) => {
1168
- var _a, _b, _c, _d, _e;
1167
+ closed: async (ev) => {
1168
+ var _a, _b, _c, _d;
1169
1169
  try {
1170
1170
  const e = ev;
1171
1171
  this.log("closed", e);
1172
1172
  this.emit("disconnected", { code: e.code, reason: (_c = (_b = (_a = e.reason) == null ? void 0 : _a.toString) == null ? void 0 : _b.call(_a)) != null ? _c : "", wasClean: (_d = e.wasClean) != null ? _d : false });
1173
1173
  try {
1174
- (_e = this.client) == null ? void 0 : _e.dispose();
1174
+ if (this.client) {
1175
+ await this.client.dispose();
1176
+ }
1175
1177
  } catch (e2) {
1176
1178
  }
1177
1179
  } finally {
@@ -1383,6 +1385,151 @@ var references = `
1383
1385
  externalIds { key value }
1384
1386
  externalBag
1385
1387
  deleted
1388
+ registration
1389
+ registrationStatus
1390
+ vin
1391
+ brand
1392
+ brandId
1393
+ model
1394
+ modelId
1395
+ serial
1396
+ modelYear
1397
+ keyWords
1398
+ description
1399
+ variant
1400
+ variantId
1401
+ vVersion
1402
+ vVersionId
1403
+ bodyType
1404
+ usage
1405
+ extended {
1406
+ category
1407
+ ecTypeApproval
1408
+ euVariant
1409
+ euVersion
1410
+ extraEquipment
1411
+ firstRegistrationDate
1412
+ fuelType
1413
+ kind
1414
+ lastInspectionDate
1415
+ lastInspectionKind
1416
+ lastInspectionResult
1417
+ leasingPeriodEnd
1418
+ leasingPeriodStart
1419
+ mileage
1420
+ mileageAnnualAverage
1421
+ ncapFive
1422
+ registrationStatusUpdatedAt
1423
+ status
1424
+ statusUpdatedAt
1425
+ weight {
1426
+ technicalTotalWeight
1427
+ totalWeight
1428
+ vehicleWeight
1429
+ driveableWeightMinimum
1430
+ driveableWeightMaximum
1431
+ vValueAirSuspension
1432
+ vValueMechanicalSuspension
1433
+ roadTrainWeight
1434
+ couplingDevice
1435
+ couplingDeviceLoadMaximum
1436
+ trailerWithBrakesWeightMaximum
1437
+ trailerWithoutBrakesWeightMaximum
1438
+ trailerTotalWeightMaximum
1439
+ division
1440
+ }
1441
+ age {
1442
+ years
1443
+ months
1444
+ }
1445
+ axle {
1446
+ axles
1447
+ axleTrack
1448
+ pullingAxlesString
1449
+ driveShaftPressureMaximum
1450
+ trailerAllowedPressureMaximum
1451
+ }
1452
+ body {
1453
+ doors
1454
+ vinPlacement
1455
+ trackWidthFront
1456
+ trackWidthRear
1457
+ passengers
1458
+ seatsMinimum
1459
+ seatsMaximum
1460
+ standingPassengersMinimum
1461
+ standingPassengersMaximum
1462
+ rimsAndTires
1463
+ color
1464
+ }
1465
+ periodicTaxes {
1466
+ taxes {
1467
+ name
1468
+ amount
1469
+ paymentFrequency
1470
+ }
1471
+ totalAmount
1472
+ paymentFrequency
1473
+ }
1474
+ leasingPeriods {
1475
+ leasingPeriodStart
1476
+ leasingPeriodEnd
1477
+ }
1478
+ permits {
1479
+ id
1480
+ name
1481
+ comment
1482
+ validFrom
1483
+ validTo
1484
+ }
1485
+ manufacturer {
1486
+ name
1487
+ region
1488
+ country
1489
+ }
1490
+ drivingLicense {
1491
+ category
1492
+ }
1493
+ emission {
1494
+ co2
1495
+ co
1496
+ hcPlusNox
1497
+ nox
1498
+ particles
1499
+ particleFilter
1500
+ smokeDensity
1501
+ smokeDensityEngineSpeed
1502
+ energyClass
1503
+ euronorm
1504
+ }
1505
+ engine {
1506
+ fuelEfficiency
1507
+ electricityEfficiency
1508
+ topSpeed
1509
+ fuelType
1510
+ cylinders
1511
+ engineCode
1512
+ engineDisplacement
1513
+ enginePower
1514
+ horsepower
1515
+ powerToWeightRatio
1516
+ }
1517
+ equipment {
1518
+ id
1519
+ name
1520
+ quantity
1521
+ }
1522
+ inspections {
1523
+ id
1524
+ vehicleId
1525
+ registration
1526
+ vin
1527
+ date
1528
+ result
1529
+ mileage
1530
+ pdf
1531
+ }
1532
+ }
1386
1533
  }
1387
1534
  ... on QMSite {
1388
1535
  ${commonFields}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/MirrorSync.ts","../src/DelegateMap.ts","../node_modules/graphql-ws/dist/common-CGW11Fyb.js","../node_modules/graphql-ws/dist/client.js","../src/SubscriptionClient.ts","../src/definitions/fragments.ts","../src/definitions/subscriptions/references.ts","../src/definitions/subscriptions/trackers.ts","../src/definitions/subscriptions/groups.ts","../src/definitions/subscriptions/servicePlans.ts","../src/definitions/subscriptions/trackerLinks.ts","../src/definitions/subscriptions/referenceLinks.ts","../src/definitions/subscriptions/lostTransmitters.ts","../src/definitions/subscriptions/reports.ts","../src/definitions/subscriptions/jobs.ts","../src/definitions/subscriptions/cycles.ts","../src/definitions/subscriptions/meshDiagnostics.ts","../src/definitions/subscriptions/gps.ts","../src/definitions/subscriptions/linkconnected.ts","../src/definitions/subscriptions/connected.ts","../src/definitions/subscriptions/voltage.ts","../src/definitions/subscriptions/internalvoltage.ts","../src/definitions/subscriptions/unplug.ts","../src/definitions/subscriptions/temperature.ts","../src/definitions/subscriptions/meshscanner.ts","../src/definitions/subscriptions/meshdisconnectslasthour.ts","../src/definitions/subscriptions/activecounter.ts","../src/definitions/subscriptions/workseconds.ts","../src/definitions/subscriptions/calculatedodometer.ts","../src/definitions/subscriptions/batterypercent.ts","../src/definitions/subscriptions/workignition.ts","../src/definitions/subscriptions/tripignition.ts","../src/definitions/subscriptions/activecycles.ts","../src/definitions/subscriptions/activesteps.ts","../src/definitions/subscriptions/referenceGeoLinks.ts","../src/definitions/subscriptions/trips.ts","../src/definitions/subscriptions/messages.ts","../src/definitions/requiredMirrors/systemSettings.ts","../src/definitions/requiredMirrors/settings.ts","../src/definitions/tempSubscriptions/index.ts","../src/definitions/mirrors.ts"],"sourcesContent":["import { MirrorSync } from \"./MirrorSync\";\nimport { ReadonlyMapView, DelegatingObject, DelegatingMap } from \"./DelegateMap\";\nimport SubscriptionClient from \"./SubscriptionClient\";\nimport { symlink } from \"fs\";\nimport { create } from \"domain\";\nimport { Subscriptions } from \"./definitions/mirrors\";\n\nexport { SubscriptionClient, MirrorSync, DelegatingObject };\n// Also expose the curated/fragmented subscription collections\nexport { Subscriptions, RequiredMirrors, TempSubscriptions } from './definitions/mirrors';\nexport type { ReadonlyMapView };\n\nexport class Connection<T extends MirrorSync> extends SubscriptionClient {\n public Mirrors: Map<string, T> = new Map();\n constructor() {\n super();\n }\n InitConnection(url: string, connectionParams: () => Promise<Record<string, unknown> | Record<string, unknown>>) {\n this.InitClient({\n url: url,\n connectionParams: connectionParams\n });\n }\n\n registerMirror(name: string, subscription: string, baseVariables: Record<string, unknown>): T {\n let entry = this.Mirrors.get(name);\n if (!entry) {\n const sync = this.createMirror(name, subscription, baseVariables);\n const forward = (event: string, payload: any) => {\n this.emit(`mirror:${event}`, { mirrorName: name, ...payload });\n };\n const handlers: Array<[string, (...args: any[]) => void]> = [\n ['start', (p) => forward('start', p)],\n ['updated', (p) => forward('updated', p)],\n ['deleted', (p) => forward('deleted', p)],\n ['done', (p) => forward('done', p)],\n ['versionError', (p) => forward('versionError', p)],\n ['resubscribe', (p) => forward('resubscribe', p)],\n ['error', (p) => forward('error', p)],\n ];\n handlers.forEach(([e, h]) => sync.on(e as any, h)); \n this.Mirrors.set(name, sync);\n entry = sync;\n this.emit('mirror:registered', entry);\n }\n return entry;\n }\n async getMirror(name: string, subscription: string, baseVariables: Record<string, unknown>): Promise<ReadonlyMapView<string, any>> {\n let entry = this.registerMirror(name, subscription, baseVariables);\n await entry.load();\n return new DelegatingMap(() => entry!.Storage);\n } \n createMirror(name: string, subscription: string, baseVariables: Record<string, unknown>): T {\n return new MirrorSync(this, { subscription, baseVariables }) as T;\n }\n async getPredefinedMirror(name: string): Promise<ReadonlyMapView<string, any>> {\n let subscription = Subscriptions[name as keyof typeof Subscriptions];\n if (!subscription) throw new Error(`No predefined mirror with name '${name}'`);\n let baseVariables: Record<string, unknown> = {}; \n return this.getMirror(name, subscription, baseVariables);\n }\n\n removeMirror(name: string): void {\n const entry = this.Mirrors.get(name);\n if (!entry) return;\n entry.removeAllListeners();\n entry.stop();\n this.Mirrors.delete(name);\n this.emit('mirror:removed', { mirrorName: name });\n }\n\n clearMirrors(): void {\n for (const name of Array.from(this.Mirrors.keys())) {\n this.removeMirror(name);\n }\n this.emit('mirror:cleared');\n }\n}\n","import { DelegatingMap, ReadonlyMapView } from './DelegateMap';\nimport { SubscriptionClient } from './SubscriptionClient';\nimport EventEmitter from 'eventemitter3';\n\n// SyncType enum as described\nexport enum SyncType {\n DELETED = 'DELETED',\n UPDATED = 'UPDATED',\n START = 'START',\n DONE = 'DONE',\n VERSION_ERROR = 'VERSION_ERROR',\n}\n\n// Shape of the subscription payload (generic)\nexport interface CacheSyncResult {\n type: SyncType;\n total?: number | null;\n deleteId?: string; // ObjectId as string\n data?: any;\n deleteVersion?: number;\n // Optional operation-based versioning (string) for hybrid mode\n deleteOpVersion?: string;\n opVersion?: string; // May appear on items inside data\n}\n\nexport interface MirrorSyncOptions {\n /** Subscription document (query string) */\n subscription: string;\n /** Optional logger */\n /** Custom variables base (besides version) */\n baseVariables?: Record<string, unknown>;\n}\n\nexport interface MirrorStats {\n version: number; // numeric version cursor\n opVersion?: string | null; // operation (ObjectId) cursor\n size: number;\n fullSyncInProgress: boolean;\n totalHint?: number | null;\n}\n\nexport interface MirrorSyncEvents {\n start: (payload: { full: boolean }) => void;\n updated: (payload: { doc: MirrorItem; orgDoc: MirrorItem | undefined; full: boolean }) => void;\n deleted: (payload: { orgDoc: MirrorItem }) => void;\n done: (payload: { full: boolean }) => void;\n versionError: (payload: { currentVersion: number }) => void;\n resubscribe: (payload: { fromVersion: number }) => void;\n error?: (errors: any) => void;\n}\n\n\nexport interface MirrorItem { id: string; version?: number; opVersion?: string;[k: string]: any, deleted?: boolean; }\n\n/**\n * MirrorSync maintains an in-memory mirror of server state based on CacheSyncResult messages.\n * Generic TBase is the item shape (must include id & version).\n */\nexport class MirrorSync extends EventEmitter {\n private client: SubscriptionClient;\n private options: MirrorSyncOptions;\n private _mirror = new Map<string, MirrorItem>();\n private get mirror() { return this._mirror; } \n private buffer: Map<string, MirrorItem> | null = null; // used during full/resubscription phase\n private currentVersion = -1; // numeric cursor (-1 => full sync needed)\n private currentOpVersion: string | null = null; // op cursor (null => full sync needed)\n private unsub: (() => void) | null = null;\n private fullSyncPhase = false; // only true during START..DONE when initiating from version -1\n private log?: (msg: string, meta?: any) => void;\n /** Deferred promise resolved on first DONE after a (re)start full sync cycle. Reset on constructor, start(), and VERSION_ERROR re-init. */\n public loaded!: Promise<ReadonlyMapView<string, any>>; // set via resetLoaded()\n private resolveLoaded?: (ref: ReadonlyMapView<string, any>) => void;\n // Stored client event handlers to allow proper detachment\n private __onReconnected?: () => void;\n private __onConnected?: () => void;\n private backlog: (() => void)[] = [];\n\n get Storage(): ReadonlyMapView<string, any> { return this.mirror; }\n get version(): number { return this.currentVersion; } \n get opVersion(): string | null { return this.currentOpVersion; }\n\n constructor(client: SubscriptionClient, options: MirrorSyncOptions & { log?: (msg: string, meta?: any) => void }) {\n super();\n this.client = client;\n this.options = options;\n this.log = options.log;\n this.attachClientEvents();\n this.resetLoaded();\n }\n\n private l(msg: string, meta?: any) { if (this.log) this.log(msg, meta); }\n\n private attachClientEvents() {\n this.__onReconnected = () => {\n this.emit('resubscribe', { fromVersion: this.currentVersion });\n this.resubscribe();\n };\n this.__onConnected = () => {\n if ((this.currentVersion === -1 || this.currentOpVersion === null) && !this.unsub) {\n this.l('initial connected subscribe', { version: this.currentVersion, opVersion: this.currentOpVersion });\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n }\n };\n this.client.on('reconnected', this.__onReconnected);\n this.client.on('connected', this.__onConnected);\n }\n\n private detachClientEvents() {\n if (this.__onReconnected) {\n this.client.off('reconnected', this.__onReconnected);\n this.__onReconnected = undefined;\n }\n if (this.__onConnected) {\n this.client.off('connected', this.__onConnected);\n this.__onConnected = undefined;\n }\n }\n\n private targetMap(): Map<string, MirrorItem> { return (this.fullSyncPhase && this.buffer) ? this.buffer! : this.mirror; }\n private advanceNumeric(v?: number) { if (typeof v === 'number' && v > this.currentVersion) this.currentVersion = v; }\n private advanceOp(v?: string) { if (v && (!this.currentOpVersion || v > this.currentOpVersion)) this.currentOpVersion = v; }\n\n private subscribeInternal(version: number, opVersion: string | null) {\n if (!this.client) throw new Error('SubscriptionClient missing');\n if (this.unsub) { this.unsub(); this.unsub = null; }\n const variables = { version, opVersion, ...(this.options.baseVariables || {}) };\n this.l('subscribe', { version, opVersion });\n this.unsub = this.client.clientsubscribe<{ [k: string]: CacheSyncResult }>(\n { query: this.options.subscription, variables },\n {\n next: (envelope: { data?: { [k: string]: CacheSyncResult }; errors?: any }) => {\n if (envelope.errors) {\n this.l('graphql errors', envelope.errors);\n this.emit('error', envelope.errors);\n }\n const payload = envelope.data as { [k: string]: CacheSyncResult } | undefined;\n if (payload) this.handlePayload(payload);\n },\n error: (err: unknown) => {\n this.l('subscription error', err);\n this.emit('error', err);\n },\n complete: () => this.l('subscription complete'),\n }\n );\n }\n\n private resubscribe() {\n // Resubscribe starting from current cursors\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n }\n\n private start() {\n if (!this.client.isConnected()) { this.l('start deferred (not connected)'); return; }\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n }\n\n load(): Promise<ReadonlyMapView<string, any>> {\n if (!this.unsub) this.start();\n return this.loaded;\n }\n private resetLoaded() {\n this.loaded = new Promise<ReadonlyMapView<string, any>>(resolve => {\n this.resolveLoaded = resolve;\n });\n }\n\n private handlePayload(raw: { [k: string]: CacheSyncResult } | undefined) {\n if (!raw) return;\n // Always pick the first field in the payload object regardless of configured rootField\n const firstKey = Object.keys(raw)[0];\n if (!firstKey) return;\n const msg = raw[firstKey];\n if (!msg) return;\n const { type } = msg;\n switch (type) {\n case SyncType.START: {\n // Only allocate a new buffer for a true full sync; for delta/resubscribe we append directly\n this.buffer = this.fullSyncPhase ? new Map() : null;\n const payload = { full: this.fullSyncPhase };\n this.emit('start', payload);\n break;\n }\n case SyncType.UPDATED:\n this.applyUpdated(msg.data);\n break;\n case SyncType.DELETED:\n this.applyDeleted(msg.deleteId, msg.deleteVersion, msg.deleteOpVersion);\n break;\n case SyncType.DONE: {\n const wasFull = this.fullSyncPhase;\n if (wasFull && this.buffer) {\n this._mirror = this.buffer;\n this.buffer = null;\n }\n this.fullSyncPhase = false;\n const d = { full: wasFull };\n if (wasFull) {\n for (const b of this.backlog) b();\n this.backlog = [];\n }\n this.emit('done', d);\n // Resolve deferred if pending\n if (this.resolveLoaded) {\n const r = this.resolveLoaded; this.resolveLoaded = undefined; r(this.mirror);\n }\n break;\n }\n case SyncType.VERSION_ERROR:\n const ve = { currentVersion: this.currentVersion };\n this.emit('versionError', ve);\n // restart as full sync\n this.currentVersion = -1;\n this.currentOpVersion = null;\n this.buffer = new Map();\n this.fullSyncPhase = true;\n this.resetLoaded();\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n break;\n }\n }\n\n private normalizeItems(data: any): MirrorItem[] {\n if (!data) return [];\n return Array.isArray(data) ? data : [data];\n }\n\n private applyUpdated(data: any) {\n for (const item of this.normalizeItems(data)) {\n if (!item || typeof item.id !== 'string') continue;\n if (item.deleted) {\n this.applyDeleted(item.id, item.version, item.opVersion);\n continue;\n }\n const hasNumeric = typeof item.version === 'number';\n const hasOp = typeof item.opVersion === 'string';\n if (!hasNumeric && !hasOp) continue;\n const existing = this.targetMap().get(item.id);\n const newerNumeric = hasNumeric && (!existing?.version || item.version! >= existing.version);\n const newerOp = hasOp && (!existing?.opVersion || item.opVersion! >= existing.opVersion);\n if (!existing || newerNumeric || newerOp) {\n this.targetMap().set(item.id, item);\n this.advanceNumeric(item.version);\n this.advanceOp(item.opVersion);\n if (this.fullSyncPhase) {\n this.backlog.push(() => this.emit('updated', { doc:item, orgDoc: existing, full: this.fullSyncPhase }));\n } else {\n this.emit('updated', { doc:item, orgDoc: existing, full: this.fullSyncPhase });\n }\n }\n }\n }\n private applyDeleted(id?: string, deleteVersion?: number, deleteOpVersion?: string) { \n if (!id || this.fullSyncPhase) return;\n const numericStale = !this.fullSyncPhase && typeof deleteVersion === 'number' && this.currentVersion >= 0 && deleteVersion < this.currentVersion;\n const opStale = !this.fullSyncPhase && deleteOpVersion && this.currentOpVersion && deleteOpVersion < this.currentOpVersion;\n if (numericStale && opStale) {\n this.l?.('skip stale delete', { id, deleteVersion, deleteOpVersion });\n return;\n }\n let toDelete = this.mirror.get(id); \n this.advanceNumeric(deleteVersion);\n this.advanceOp(deleteOpVersion);\n if (!this.fullSyncPhase && !!toDelete) {\n this.mirror.delete(id);\n this.emit('deleted', { orgDoc: toDelete });\n }\n }\n\n get(id: string): any | undefined { return this.mirror.get(id); }\n values(): any[] { return Array.from(this.mirror.values()); }\n stats(): MirrorStats { return { version: this.currentVersion, opVersion: this.currentOpVersion, size: this.mirror.size, fullSyncInProgress: this.fullSyncPhase }; }\n\n stop() {\n if (this.unsub) { this.unsub(); this.unsub = null; }\n this.detachClientEvents();\n this.currentVersion = -1;\n this.currentOpVersion = null;\n this.buffer = null;\n if (this.resolveLoaded) {\n const r = this.resolveLoaded; this.resolveLoaded = undefined; r(this.mirror);\n }\n this.resetLoaded();\n }\n}\n","// Restored specialized read-only view interface (runtime enforced via absence of mutators)\nexport interface ReadonlyMapView<K, V> extends Iterable<[K, V]> {\n readonly size: number;\n get(key: K): V | undefined;\n has(key: K): boolean;\n entries(): IterableIterator<[K, V]>;\n keys(): IterableIterator<K>;\n values(): IterableIterator<V>;\n forEach(callbackfn: (value: V, key: K, map: ReadonlyMapView<K, V>) => void, thisArg?: any): void;\n [Symbol.iterator](): IterableIterator<[K, V]>;\n}\n\nexport class DelegatingMap<K, V> implements ReadonlyMapView<K, V> {\n constructor(private readonly resolver: () => ReadonlyMapView<K, V>) { }\n private t(): ReadonlyMapView<K, V> { return this.resolver(); }\n get size(): number { return this.t().size; }\n get(key: K): V | undefined { return this.t().get(key); }\n has(key: K): boolean { return this.t().has(key); }\n entries(): IterableIterator<[K, V]> { return this.t().entries(); }\n keys(): IterableIterator<K> { return this.t().keys(); }\n values(): IterableIterator<V> { return this.t().values(); }\n forEach(callbackfn: (value: V, key: K, map: ReadonlyMapView<K, V>) => void, thisArg?: any): void {\n this.t().forEach(((v: V, k: K) => callbackfn(v, k, this)) as any, thisArg);\n }\n [Symbol.iterator](): IterableIterator<[K, V]> { return this.t()[Symbol.iterator](); }\n}\n\n/**\n * Presents a ReadonlyMapView<K,V> as an immutable plain object via Proxy.\n * Optionally maps values through a mapper function on access.\n */\nexport class DelegatingObject<K extends string, V, R = V> {\n private readonly proxy: Record<K, R>;\n constructor(private readonly source: ReadonlyMapView<K, V>, private readonly mapFn?: (value: V, key: K) => R) {\n const mapper = (v: V, k: K): R => (this.mapFn ? this.mapFn(v, k) : (v as unknown as R));\n const handler: ProxyHandler<any> = {\n get: (_target, prop: PropertyKey, receiver) => {\n if (prop === Symbol.toStringTag) return 'Object';\n if (typeof prop !== 'string') return Reflect.get(Object.prototype, prop, receiver);\n const key = prop as K;\n const v = this.source.get(key);\n return v === undefined ? undefined : mapper(v, key);\n },\n set: () => false, // immutable\n has: (_target, prop: PropertyKey) => typeof prop === 'string' && this.source.has(prop as K),\n deleteProperty: () => false, // immutable\n ownKeys: () => Array.from(this.source.keys() as unknown as IterableIterator<string>),\n getOwnPropertyDescriptor: (_target, prop: PropertyKey) => {\n if (typeof prop === 'string' && this.source.has(prop as K)) {\n const key = prop as K;\n const v = this.source.get(key)!;\n return { configurable: true, enumerable: true, value: mapper(v, key) };\n }\n return undefined;\n },\n defineProperty: () => false, // immutable\n };\n this.proxy = new Proxy(Object.create(null), handler);\n }\n asObject(): Record<K, R> { return this.proxy; }\n}\n","function extendedTypeof(val) {\n if (val === null) {\n return \"null\";\n }\n if (Array.isArray(val)) {\n return \"array\";\n }\n return typeof val;\n}\nfunction isObject(val) {\n return extendedTypeof(val) === \"object\";\n}\nfunction isAsyncIterable(val) {\n return typeof Object(val)[Symbol.asyncIterator] === \"function\";\n}\nfunction isAsyncGenerator(val) {\n return isObject(val) && typeof Object(val)[Symbol.asyncIterator] === \"function\" && typeof val.return === \"function\";\n}\nfunction areGraphQLFormattedErrors(obj) {\n return Array.isArray(obj) && // must be at least one error\n obj.length > 0 && // error has at least a message\n obj.every((ob) => \"message\" in ob);\n}\nfunction limitCloseReason(reason, whenTooLong) {\n return reason.length < 124 ? reason : whenTooLong;\n}\n\nconst GRAPHQL_TRANSPORT_WS_PROTOCOL = \"graphql-transport-ws\";\nconst DEPRECATED_GRAPHQL_WS_PROTOCOL = \"graphql-ws\";\nvar CloseCode = /* @__PURE__ */ ((CloseCode2) => {\n CloseCode2[CloseCode2[\"InternalServerError\"] = 4500] = \"InternalServerError\";\n CloseCode2[CloseCode2[\"InternalClientError\"] = 4005] = \"InternalClientError\";\n CloseCode2[CloseCode2[\"BadRequest\"] = 4400] = \"BadRequest\";\n CloseCode2[CloseCode2[\"BadResponse\"] = 4004] = \"BadResponse\";\n CloseCode2[CloseCode2[\"Unauthorized\"] = 4401] = \"Unauthorized\";\n CloseCode2[CloseCode2[\"Forbidden\"] = 4403] = \"Forbidden\";\n CloseCode2[CloseCode2[\"SubprotocolNotAcceptable\"] = 4406] = \"SubprotocolNotAcceptable\";\n CloseCode2[CloseCode2[\"ConnectionInitialisationTimeout\"] = 4408] = \"ConnectionInitialisationTimeout\";\n CloseCode2[CloseCode2[\"ConnectionAcknowledgementTimeout\"] = 4504] = \"ConnectionAcknowledgementTimeout\";\n CloseCode2[CloseCode2[\"SubscriberAlreadyExists\"] = 4409] = \"SubscriberAlreadyExists\";\n CloseCode2[CloseCode2[\"TooManyInitialisationRequests\"] = 4429] = \"TooManyInitialisationRequests\";\n return CloseCode2;\n})(CloseCode || {});\nvar MessageType = /* @__PURE__ */ ((MessageType2) => {\n MessageType2[\"ConnectionInit\"] = \"connection_init\";\n MessageType2[\"ConnectionAck\"] = \"connection_ack\";\n MessageType2[\"Ping\"] = \"ping\";\n MessageType2[\"Pong\"] = \"pong\";\n MessageType2[\"Subscribe\"] = \"subscribe\";\n MessageType2[\"Next\"] = \"next\";\n MessageType2[\"Error\"] = \"error\";\n MessageType2[\"Complete\"] = \"complete\";\n return MessageType2;\n})(MessageType || {});\nfunction validateMessage(val) {\n if (!isObject(val)) {\n throw new Error(\n `Message is expected to be an object, but got ${extendedTypeof(val)}`\n );\n }\n if (!val.type) {\n throw new Error(`Message is missing the 'type' property`);\n }\n if (typeof val.type !== \"string\") {\n throw new Error(\n `Message is expects the 'type' property to be a string, but got ${extendedTypeof(\n val.type\n )}`\n );\n }\n switch (val.type) {\n case \"connection_init\" /* ConnectionInit */:\n case \"connection_ack\" /* ConnectionAck */:\n case \"ping\" /* Ping */:\n case \"pong\" /* Pong */: {\n if (val.payload != null && !isObject(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an object or nullish or missing, but got \"${val.payload}\"`\n );\n }\n break;\n }\n case \"subscribe\" /* Subscribe */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n if (!isObject(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an object, but got ${extendedTypeof(\n val.payload\n )}`\n );\n }\n if (typeof val.payload.query !== \"string\") {\n throw new Error(\n `\"${val.type}\" message payload expects the 'query' property to be a string, but got ${extendedTypeof(\n val.payload.query\n )}`\n );\n }\n if (val.payload.variables != null && !isObject(val.payload.variables)) {\n throw new Error(\n `\"${val.type}\" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${extendedTypeof(\n val.payload.variables\n )}`\n );\n }\n if (val.payload.operationName != null && extendedTypeof(val.payload.operationName) !== \"string\") {\n throw new Error(\n `\"${val.type}\" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${extendedTypeof(\n val.payload.operationName\n )}`\n );\n }\n if (val.payload.extensions != null && !isObject(val.payload.extensions)) {\n throw new Error(\n `\"${val.type}\" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${extendedTypeof(\n val.payload.extensions\n )}`\n );\n }\n break;\n }\n case \"next\" /* Next */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n if (!isObject(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an object, but got ${extendedTypeof(\n val.payload\n )}`\n );\n }\n break;\n }\n case \"error\" /* Error */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n if (!areGraphQLFormattedErrors(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(\n val.payload\n )}`\n );\n }\n break;\n }\n case \"complete\" /* Complete */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n break;\n }\n default:\n throw new Error(`Invalid message 'type' property \"${val.type}\"`);\n }\n return val;\n}\nfunction parseMessage(data, reviver) {\n return validateMessage(\n typeof data === \"string\" ? JSON.parse(data, reviver) : data\n );\n}\nfunction stringifyMessage(msg, replacer) {\n validateMessage(msg);\n return JSON.stringify(msg, replacer);\n}\n\nexport { CloseCode as C, DEPRECATED_GRAPHQL_WS_PROTOCOL as D, GRAPHQL_TRANSPORT_WS_PROTOCOL as G, MessageType as M, isAsyncGenerator as a, isAsyncIterable as b, isObject as i, limitCloseReason as l, parseMessage as p, stringifyMessage as s, validateMessage as v };\n","import { i as isObject, G as GRAPHQL_TRANSPORT_WS_PROTOCOL, s as stringifyMessage, M as MessageType, C as CloseCode, l as limitCloseReason, p as parseMessage } from './common-CGW11Fyb.js';\nexport { D as DEPRECATED_GRAPHQL_WS_PROTOCOL, v as validateMessage } from './common-CGW11Fyb.js';\n\nfunction createClient(options) {\n const {\n url,\n connectionParams,\n lazy = true,\n onNonLazyError = console.error,\n lazyCloseTimeout: lazyCloseTimeoutMs = 0,\n keepAlive = 0,\n disablePong,\n connectionAckWaitTimeout = 0,\n retryAttempts = 5,\n retryWait = async function randomisedExponentialBackoff(retries2) {\n const retryDelaySeconds = Math.pow(2, retries2);\n await new Promise(\n (resolve) => setTimeout(\n resolve,\n retryDelaySeconds * 1e3 + // add random timeout from 300ms to 3s\n Math.floor(Math.random() * (3e3 - 300) + 300)\n )\n );\n },\n shouldRetry = isLikeCloseEvent,\n on,\n webSocketImpl,\n /**\n * Generates a v4 UUID to be used as the ID using `Math`\n * as the random number generator. Supply your own generator\n * in case you need more uniqueness.\n *\n * Reference: https://gist.github.com/jed/982883\n */\n generateID = function generateUUID() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0, v = c == \"x\" ? r : r & 3 | 8;\n return v.toString(16);\n });\n },\n jsonMessageReplacer: replacer,\n jsonMessageReviver: reviver\n } = options;\n let ws;\n if (webSocketImpl) {\n if (!isWebSocket(webSocketImpl)) {\n throw new Error(\"Invalid WebSocket implementation provided\");\n }\n ws = webSocketImpl;\n } else if (typeof WebSocket !== \"undefined\") {\n ws = WebSocket;\n } else if (typeof global !== \"undefined\") {\n ws = global.WebSocket || // @ts-expect-error: Support more browsers\n global.MozWebSocket;\n } else if (typeof window !== \"undefined\") {\n ws = window.WebSocket || // @ts-expect-error: Support more browsers\n window.MozWebSocket;\n }\n if (!ws)\n throw new Error(\n \"WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`\"\n );\n const WebSocketImpl = ws;\n const emitter = (() => {\n const message = /* @__PURE__ */ (() => {\n const listeners2 = {};\n return {\n on(id, listener) {\n listeners2[id] = listener;\n return () => {\n delete listeners2[id];\n };\n },\n emit(message2) {\n if (\"id\" in message2) listeners2[message2.id]?.(message2);\n }\n };\n })();\n const listeners = {\n connecting: on?.connecting ? [on.connecting] : [],\n opened: on?.opened ? [on.opened] : [],\n connected: on?.connected ? [on.connected] : [],\n ping: on?.ping ? [on.ping] : [],\n pong: on?.pong ? [on.pong] : [],\n message: on?.message ? [message.emit, on.message] : [message.emit],\n closed: on?.closed ? [on.closed] : [],\n error: on?.error ? [on.error] : []\n };\n return {\n onMessage: message.on,\n on(event, listener) {\n const l = listeners[event];\n l.push(listener);\n return () => {\n l.splice(l.indexOf(listener), 1);\n };\n },\n emit(event, ...args) {\n for (const listener of [...listeners[event]]) {\n listener(...args);\n }\n }\n };\n })();\n function errorOrClosed(cb) {\n const listening = [\n // errors are fatal and more critical than close events, throw them first\n emitter.on(\"error\", (err) => {\n listening.forEach((unlisten) => unlisten());\n cb(err);\n }),\n // closes can be graceful and not fatal, throw them second (if error didnt throw)\n emitter.on(\"closed\", (event) => {\n listening.forEach((unlisten) => unlisten());\n cb(event);\n })\n ];\n }\n let connecting, locks = 0, lazyCloseTimeout, retrying = false, retries = 0, disposed = false;\n async function connect() {\n clearTimeout(lazyCloseTimeout);\n const [socket, throwOnClose] = await (connecting ?? (connecting = new Promise(\n (connected, denied) => (async () => {\n if (retrying) {\n await retryWait(retries);\n if (!locks) {\n connecting = void 0;\n return denied({ code: 1e3, reason: \"All Subscriptions Gone\" });\n }\n retries++;\n }\n emitter.emit(\"connecting\", retrying);\n const socket2 = new WebSocketImpl(\n typeof url === \"function\" ? await url() : url,\n GRAPHQL_TRANSPORT_WS_PROTOCOL\n );\n let connectionAckTimeout, queuedPing;\n function enqueuePing() {\n if (isFinite(keepAlive) && keepAlive > 0) {\n clearTimeout(queuedPing);\n queuedPing = setTimeout(() => {\n if (socket2.readyState === WebSocketImpl.OPEN) {\n socket2.send(stringifyMessage({ type: MessageType.Ping }));\n emitter.emit(\"ping\", false, void 0);\n }\n }, keepAlive);\n }\n }\n errorOrClosed((errOrEvent) => {\n connecting = void 0;\n clearTimeout(connectionAckTimeout);\n clearTimeout(queuedPing);\n denied(errOrEvent);\n if (errOrEvent instanceof TerminatedCloseEvent) {\n socket2.close(4499, \"Terminated\");\n socket2.onerror = null;\n socket2.onclose = null;\n }\n });\n socket2.onerror = (err) => emitter.emit(\"error\", err);\n socket2.onclose = (event) => emitter.emit(\"closed\", event);\n socket2.onopen = async () => {\n try {\n emitter.emit(\"opened\", socket2);\n const payload = typeof connectionParams === \"function\" ? await connectionParams() : connectionParams;\n if (socket2.readyState !== WebSocketImpl.OPEN) return;\n socket2.send(\n stringifyMessage(\n payload ? {\n type: MessageType.ConnectionInit,\n payload\n } : {\n type: MessageType.ConnectionInit\n // payload is completely absent if not provided\n },\n replacer\n )\n );\n if (isFinite(connectionAckWaitTimeout) && connectionAckWaitTimeout > 0) {\n connectionAckTimeout = setTimeout(() => {\n socket2.close(\n CloseCode.ConnectionAcknowledgementTimeout,\n \"Connection acknowledgement timeout\"\n );\n }, connectionAckWaitTimeout);\n }\n enqueuePing();\n } catch (err) {\n emitter.emit(\"error\", err);\n socket2.close(\n CloseCode.InternalClientError,\n limitCloseReason(\n err instanceof Error ? err.message : String(err),\n \"Internal client error\"\n )\n );\n }\n };\n let acknowledged = false;\n socket2.onmessage = ({ data }) => {\n try {\n const message = parseMessage(data, reviver);\n emitter.emit(\"message\", message);\n if (message.type === \"ping\" || message.type === \"pong\") {\n emitter.emit(message.type, true, message.payload);\n if (message.type === \"pong\") {\n enqueuePing();\n } else if (!disablePong) {\n socket2.send(\n stringifyMessage(\n message.payload ? {\n type: MessageType.Pong,\n payload: message.payload\n } : {\n type: MessageType.Pong\n // payload is completely absent if not provided\n }\n )\n );\n emitter.emit(\"pong\", false, message.payload);\n }\n return;\n }\n if (acknowledged) return;\n if (message.type !== MessageType.ConnectionAck)\n throw new Error(\n `First message cannot be of type ${message.type}`\n );\n clearTimeout(connectionAckTimeout);\n acknowledged = true;\n emitter.emit(\"connected\", socket2, message.payload, retrying);\n retrying = false;\n retries = 0;\n connected([\n socket2,\n new Promise((_, reject) => errorOrClosed(reject))\n ]);\n } catch (err) {\n socket2.onmessage = null;\n emitter.emit(\"error\", err);\n socket2.close(\n CloseCode.BadResponse,\n limitCloseReason(\n err instanceof Error ? err.message : String(err),\n \"Bad response\"\n )\n );\n }\n };\n })()\n )));\n if (socket.readyState === WebSocketImpl.CLOSING) await throwOnClose;\n let release = () => {\n };\n const released = new Promise((resolve) => release = resolve);\n return [\n socket,\n release,\n Promise.race([\n // wait for\n released.then(() => {\n if (!locks) {\n const complete = () => socket.close(1e3, \"Normal Closure\");\n if (isFinite(lazyCloseTimeoutMs) && lazyCloseTimeoutMs > 0) {\n lazyCloseTimeout = setTimeout(() => {\n if (socket.readyState === WebSocketImpl.OPEN) complete();\n }, lazyCloseTimeoutMs);\n } else {\n complete();\n }\n }\n }),\n // or\n throwOnClose\n ])\n ];\n }\n function shouldRetryConnectOrThrow(errOrCloseEvent) {\n if (isLikeCloseEvent(errOrCloseEvent) && (isFatalInternalCloseCode(errOrCloseEvent.code) || [\n CloseCode.InternalServerError,\n CloseCode.InternalClientError,\n CloseCode.BadRequest,\n CloseCode.BadResponse,\n CloseCode.Unauthorized,\n // CloseCode.Forbidden, might grant access out after retry\n CloseCode.SubprotocolNotAcceptable,\n // CloseCode.ConnectionInitialisationTimeout, might not time out after retry\n // CloseCode.ConnectionAcknowledgementTimeout, might not time out after retry\n CloseCode.SubscriberAlreadyExists,\n CloseCode.TooManyInitialisationRequests\n // 4499, // Terminated, probably because the socket froze, we want to retry\n ].includes(errOrCloseEvent.code)))\n throw errOrCloseEvent;\n if (disposed) return false;\n if (isLikeCloseEvent(errOrCloseEvent) && errOrCloseEvent.code === 1e3)\n return locks > 0;\n if (!retryAttempts || retries >= retryAttempts) throw errOrCloseEvent;\n if (!shouldRetry(errOrCloseEvent)) throw errOrCloseEvent;\n return retrying = true;\n }\n if (!lazy) {\n (async () => {\n locks++;\n for (; ; ) {\n try {\n const [, , throwOnClose] = await connect();\n await throwOnClose;\n } catch (errOrCloseEvent) {\n try {\n if (!shouldRetryConnectOrThrow(errOrCloseEvent)) return;\n } catch (errOrCloseEvent2) {\n return onNonLazyError?.(errOrCloseEvent2);\n }\n }\n }\n })();\n }\n function subscribe(payload, sink) {\n const id = generateID(payload);\n let done = false, errored = false, releaser = () => {\n locks--;\n done = true;\n };\n (async () => {\n locks++;\n for (; ; ) {\n try {\n const [socket, release, waitForReleaseOrThrowOnClose] = await connect();\n if (done) return release();\n const unlisten = emitter.onMessage(id, (message) => {\n switch (message.type) {\n case MessageType.Next: {\n sink.next(message.payload);\n return;\n }\n case MessageType.Error: {\n errored = true, done = true;\n sink.error(message.payload);\n releaser();\n return;\n }\n case MessageType.Complete: {\n done = true;\n releaser();\n return;\n }\n }\n });\n socket.send(\n stringifyMessage(\n {\n id,\n type: MessageType.Subscribe,\n payload\n },\n replacer\n )\n );\n releaser = () => {\n if (!done && socket.readyState === WebSocketImpl.OPEN)\n socket.send(\n stringifyMessage(\n {\n id,\n type: MessageType.Complete\n },\n replacer\n )\n );\n locks--;\n done = true;\n release();\n };\n await waitForReleaseOrThrowOnClose.finally(unlisten);\n return;\n } catch (errOrCloseEvent) {\n if (!shouldRetryConnectOrThrow(errOrCloseEvent)) return;\n }\n }\n })().then(() => {\n if (!errored) sink.complete();\n }).catch((err) => {\n sink.error(err);\n });\n return () => {\n if (!done) releaser();\n };\n }\n return {\n on: emitter.on,\n subscribe,\n iterate(request) {\n const pending = [];\n const deferred = {\n done: false,\n error: null,\n resolve: () => {\n }\n };\n const dispose = subscribe(request, {\n next(val) {\n pending.push(val);\n deferred.resolve();\n },\n error(err) {\n deferred.done = true;\n deferred.error = err;\n deferred.resolve();\n },\n complete() {\n deferred.done = true;\n deferred.resolve();\n }\n });\n const iterator = async function* iterator2() {\n for (; ; ) {\n if (!pending.length) {\n await new Promise((resolve) => deferred.resolve = resolve);\n }\n while (pending.length) {\n yield pending.shift();\n }\n if (deferred.error) {\n throw deferred.error;\n }\n if (deferred.done) {\n return;\n }\n }\n }();\n iterator.throw = async (err) => {\n if (!deferred.done) {\n deferred.done = true;\n deferred.error = err;\n deferred.resolve();\n }\n return { done: true, value: void 0 };\n };\n iterator.return = async () => {\n dispose();\n return { done: true, value: void 0 };\n };\n return iterator;\n },\n async dispose() {\n disposed = true;\n if (connecting) {\n const [socket] = await connecting;\n socket.close(1e3, \"Normal Closure\");\n }\n },\n terminate() {\n if (connecting) {\n emitter.emit(\"closed\", new TerminatedCloseEvent());\n }\n }\n };\n}\nclass TerminatedCloseEvent extends Error {\n name = \"TerminatedCloseEvent\";\n message = \"4499: Terminated\";\n code = 4499;\n reason = \"Terminated\";\n wasClean = false;\n}\nfunction isLikeCloseEvent(val) {\n return isObject(val) && \"code\" in val && \"reason\" in val;\n}\nfunction isFatalInternalCloseCode(code) {\n if ([\n 1e3,\n // Normal Closure is not an erroneous close code\n 1001,\n // Going Away\n 1006,\n // Abnormal Closure\n 1005,\n // No Status Received\n 1012,\n // Service Restart\n 1013,\n // Try Again Later\n 1014\n // Bad Gateway\n ].includes(code))\n return false;\n return code >= 1e3 && code <= 1999;\n}\nfunction isWebSocket(val) {\n return typeof val === \"function\" && \"constructor\" in val && \"CLOSED\" in val && \"CLOSING\" in val && \"CONNECTING\" in val && \"OPEN\" in val;\n}\n\nexport { CloseCode, GRAPHQL_TRANSPORT_WS_PROTOCOL, MessageType, TerminatedCloseEvent, createClient, parseMessage, stringifyMessage };\n","import { createClient, Client, ClientOptions, SubscribePayload } from 'graphql-ws';\n// Removed direct 'ws' import for browser compatibility; will resolve at runtime if needed.\nimport EventEmitter from 'eventemitter3';\n\n/** Events emitted by SubscriptionClient\n * connecting - before opening a socket (initial or reconnect attempt)\n * connected - first successful connection\n * reconnected - a subsequent successful connection after a disconnect\n * disconnected - socket closed ( { code, reason, wasClean } )\n * error - protocol or network error (Error)\n * retry - about to attempt reconnect ( { attempt } )\n */\nexport interface SubscriptionClientEvents {\n connecting: () => void;\n connected: () => void;\n reconnected: () => void;\n disconnected: (info: { code: number; reason: string; wasClean: boolean }) => void;\n error: (err: unknown) => void;\n retry: (info: { attempt: number }) => void;\n}\n\nexport interface SubscriptionClientOptions {\n url: string;\n /** optional async or sync connection params */\n connectionParams?: ClientOptions['connectionParams'];\n /** number of reconnect attempts, default Infinity */\n maxReconnectAttempts?: number;\n /** initial delay ms before first retry (exponential backoff) */\n retryDelayMs?: number;\n /** max backoff cap */\n maxRetryDelayMs?: number;\n /** idle timeout for operations (optional) */\n operationTimeoutMs?: number;\n /** optional custom WebSocket implementation */\n webSocketImpl?: any; // generic to avoid pulling node 'ws' types into browser bundle\n /** optional logger */\n log?: (msg: string, meta?: any) => void;\n}\n\nexport interface SubscribeOptions<TData = any, TVars = Record<string, unknown>> {\n query: string;\n variables?: TVars;\n /** optional per-subscription timeout override */\n timeoutMs?: number;\n operationName?: string;\n extensions?: Record<string, any>;\n}\n\nexport interface Observer<T> {\n next?: (data: T) => void;\n error?: (err: unknown) => void;\n complete?: () => void;\n}\n\nexport class SubscriptionClient extends EventEmitter {\n private options?: Required<Omit<SubscriptionClientOptions, 'connectionParams' | 'log' | 'webSocketImpl'>> & Pick<SubscriptionClientOptions, 'connectionParams' | 'log' | 'webSocketImpl'>;\n private client: Client | null = null;\n private connectAttempt = 0;\n private closedExplicitly = false;\n private reconnecting = false;\n private reconnectTimer: NodeJS.Timeout | null = null;\n private hasEverConnected = false;\n\n constructor() {\n super();\n }\n InitClient(opts: SubscriptionClientOptions) {\n this.options = {\n url: opts.url,\n connectionParams: opts.connectionParams,\n maxReconnectAttempts: opts.maxReconnectAttempts ?? Infinity,\n retryDelayMs: opts.retryDelayMs ?? 500,\n maxRetryDelayMs: opts.maxRetryDelayMs ?? 10_000,\n operationTimeoutMs: opts.operationTimeoutMs ?? 0,\n webSocketImpl: opts.webSocketImpl ?? undefined,\n log: opts.log,\n } as any;\n }\n\n private resolveWebSocketImpl(): any {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n // Proxy-aware priority:\n // 1. Explicit user-supplied impl\n // 2. Browser bundle: never load 'ws' — use global WebSocket\n // 3. If proxy env detected (Node) -> prefer 'ws'\n // 4. Global WebSocket (browser / Node >= 18 native)\n // 5. Fallback to require('ws') (Node)\n if (this.options.webSocketImpl) return this.options.webSocketImpl;\n\n if (process.env.BUILD_TARGET === 'browser') {\n const g: any = (globalThis as any);\n if (typeof g.WebSocket === 'function') return g.WebSocket;\n throw new Error('No WebSocket implementation found in browser. Provide webSocketImpl.');\n } else {\n const proxyEnv = process.env.ALL_PROXY || process.env.HTTPS_PROXY || process.env.HTTP_PROXY || process.env.GLOBAL_AGENT_HTTP_PROXY;\n if (proxyEnv) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require('ws');\n } catch (e) {\n this.log('Proxy detected but failed to load ws package', e);\n }\n }\n const g: any = (globalThis as any);\n if (typeof g.WebSocket === 'function') return g.WebSocket;\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require('ws');\n } catch {\n throw new Error('No WebSocket implementation found. Provide webSocketImpl in SubscriptionClientOptions.');\n }\n }\n }\n\n /** Returns true if an underlying websocket client exists (connected or in-flight). */\n isConnected(): boolean {\n return !!this.client; // createClientIfNeeded only after socket open attempt\n }\n\n private log(msg: string, meta?: any) {\n if (this.options?.log) this.options.log(msg, meta);\n }\n\n private createClientIfNeeded(isReconnect: boolean) {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n if (this.client) return; // already have client\n const { url, connectionParams } = this.options;\n const webSocketImpl = this.resolveWebSocketImpl();\n this.client = createClient({\n url,\n connectionParams,\n webSocketImpl: webSocketImpl as any,\n lazy: false,\n keepAlive: 12000,\n retryAttempts: 0,\n shouldRetry: () => false,\n on: {\n connected: () => {\n const wasReconnect = isReconnect && this.connectAttempt > 0;\n this.connectAttempt = 0;\n if (wasReconnect && this.hasEverConnected) {\n this.emit('reconnected');\n this.log('reconnected');\n } else {\n this.emit('connected');\n this.log('connected');\n }\n this.hasEverConnected = true;\n },\n error: (err) => {\n this.emit('error', err);\n this.log('socket error', err);\n },\n closed: (ev) => {\n try {\n const e = ev as CloseEvent | { code: number; reason: string; wasClean: boolean };\n this.log('closed', e);\n this.emit('disconnected', { code: (e as any).code, reason: (e as any).reason?.toString?.() ?? '', wasClean: (e as any).wasClean ?? false });\n try {\n this.client?.dispose();\n } catch {}\n } finally {\n this.client = null; // allow recreate\n if (!this.closedExplicitly) this.scheduleReconnect();\n }\n },\n },\n });\n }\n\n // assureConnected removed per revert request\n\n /** Establish the WebSocket connection if not already created. Idempotent. */\n connect(): void {\n if (this.client) return; // already created\n this.emit('connecting');\n this.log('connecting');\n this.createClientIfNeeded(false);\n }\n\n private scheduleReconnect() {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n if (this.reconnecting) return;\n if (this.closedExplicitly) {\n this.log('Reconnect prevented: client closed explicitly');\n return;\n }\n if (this.connectAttempt >= this.options.maxReconnectAttempts) {\n this.log('max reconnect attempts reached');\n return;\n }\n this.reconnecting = true;\n const delay = Math.min(\n this.options.retryDelayMs * Math.pow(2, this.connectAttempt),\n this.options.maxRetryDelayMs,\n );\n this.emit('retry', { attempt: this.connectAttempt });\n this.log('reconnect scheduled', { attempt: this.connectAttempt, delay });\n if (this.reconnectTimer) clearTimeout(this.reconnectTimer);\n this.reconnectTimer = setTimeout(() => {\n this.reconnecting = false;\n this.connectAttempt++;\n this.emit('connecting');\n this.log('connecting');\n this.createClientIfNeeded(true);\n }, delay);\n }\n\n clientsubscribe<TData = any, TVars extends Record<string, unknown> = Record<string, unknown>>(options: SubscribeOptions<TData, TVars>, observer: Observer<{ data?: TData; errors?: any }>): () => void {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n if (!this.client) throw new Error('Client not connected - call connect() first');\n const payload: SubscribePayload = {\n query: options.query,\n variables: options.variables as any,\n operationName: options.operationName,\n extensions: options.extensions,\n };\n let finished = false;\n const timeoutMs = options.timeoutMs ?? this.options.operationTimeoutMs;\n let timeout: NodeJS.Timeout | undefined;\n if (timeoutMs > 0) {\n timeout = setTimeout(() => {\n if (finished) return;\n finished = true;\n observer.error?.(new Error('Operation timed out'));\n dispose();\n }, timeoutMs);\n }\n const dispose = this.client.subscribe(payload, {\n next: (data) => observer.next?.(data as any),\n error: (err) => {\n if (finished) return;\n finished = true;\n if (timeout) clearTimeout(timeout);\n observer.error?.(err);\n },\n complete: () => {\n if (finished) return;\n finished = true;\n if (timeout) clearTimeout(timeout);\n observer.complete?.();\n },\n });\n return () => {\n if (finished) return;\n finished = true;\n if (timeout) clearTimeout(timeout);\n dispose();\n };\n }\n\n /** Async iterator variant (convenience wrapper around underlying client.iterate). */\n clientiterate<TData = any, TVars extends Record<string, unknown> = Record<string, unknown>>(options: SubscribeOptions<TData, TVars>): AsyncIterable<{ data?: TData; errors?: any }> {\n if (!this.client) throw new Error('Client not connected - call connect() first');\n const payload: SubscribePayload = {\n query: options.query,\n variables: options.variables as any,\n operationName: options.operationName,\n extensions: options.extensions,\n };\n // graphql-ws client.iterate returns AsyncIterableExecutionResult\n // We forward it directly (user can for-await over it).\n return (this.client as any).iterate(payload);\n }\n\n async close(code = 1000, reason = 'Normal Closure') {\n this.closedExplicitly = true;\n this.log('closing client');\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n const c = this.client as any;\n if (c) { try { c.dispose(); } catch { } }\n this.client = null;\n this.removeAllListeners();\n }\n}\n\nexport default SubscriptionClient;\n","export const commonFields = 'id:idStr version createdDateTime'\nexport const commonReferenceFields = 'groupId groupName groupPath labels canAnonymize tokenCount'\nexport const lastLogFields = 'id eventCode stamp serviceDataId userId comment'\nexport const serviceDataCommonFields = `id createdDateTime servicePlanId userId lastServiceDate lastLog {${lastLogFields}}`\nexport const mCommonFields = 'type total deleteId deleteVersion'\nexport const mServiceCommonFields = `name description createdDate createdBy ${commonFields}`\n","import { mCommonFields, commonFields, commonReferenceFields, serviceDataCommonFields } from '../fragments'\n\nexport const references = `\n subscription References($version:Int!) {\n mreference_getbulk(version: $version, subscribe:true)\n {\n ${mCommonFields}\n data {\n __typename\n ... on QMUser {\n ${commonFields}\n ${commonReferenceFields}\n mobilePhoneNumber\n mobileCountryCode\n firstName\n middleName\n lastName\n fullName\n email\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n },\n isAzureADUser\n authProvider\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMAsset { \n ${commonFields}\n ${commonReferenceFields}\n brand \n model \n keyWords\n description\n serial \n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMVehicle {\n ${commonFields}\n ${commonReferenceFields}\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMSite { \n ${commonFields}\n ${commonReferenceFields}\n name\n type\n geoArea {\n longitude\n latitude\n }\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n } \n }\n}`\n","import { mCommonFields, commonFields } from '../fragments'\n\nexport const trackers = `\n subscription Trackers($version:Int!) {\n mtrackers_getbulk(version: $version, subscribe:true)\n {\n ${mCommonFields}\n data \n {\n ${commonFields}\n objId: id\n vID\n pID\n key\n type\n model\n revision\n trackerName\n referenceId\n deleted\n }\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const groups = `\n subscription Groups($version:Int!)\n {\n mcommon_getgroups(version: $version, subscribe: true)\n { \n ${mCommonFields}\n data {\n id:idStr \n version\n parentId\n name\n level \n type\n }\n }\n }`\n","import { mCommonFields, mServiceCommonFields } from '../fragments'\n\nexport const servicePlans = `\n subscription Service($version: Int!)\n {\n mservice_get(version: $version, subscribe: true)\n {\n ${mCommonFields}\n data {\n __typename\n ... on QMServicePlanOneshot \n { \n ${mServiceCommonFields}\n dueSlackInDays\n deleted\n }\n ... on QMServicePlanPeriodic {\n ${mServiceCommonFields}\n dueSlackInDays\n period\n intervalType\n deleted\n }\n ... on QMServicePlanWarranty { \n ${mServiceCommonFields}\n dueSlackInDays\n warrantyInMonths\n deleted\n }\n ... on QMServicePlanKM {\n ${mServiceCommonFields}\n dueSlackKM : dueSlack\n intervalKM : interval\n deleted\n }\n ... on QMServicePlanWorkSeconds {\n ${mServiceCommonFields}\n dueSlackSeconds : dueSlack\n intervalSeconds : interval\n deleted\n }\n }\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const trackerLinks = `\n subscription BLELinks($opVersion: String)\n {\n otrackers_getlinksbulk(opversion: $opVersion, subscribe: true, subscriberssiupdates: true)\n {\n ${mCommonFields}\n data {\n id\n createdDateTime: creationTime\n receiverVID\n rSSI\n transmitterVID\n opVersion\n deleted\n disabled\n }\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const referenceLinks = `\n subscription ReferenceLink($version: Int!, $opVersion: String)\n {\n oreference_getlinks(version: $version, opversion: $opVersion, subscribe: true)\n {\n ${mCommonFields}\n data {\n id\n type\n createdDateTime: creationTime\n referenceId1\n referenceId2\n autoGenerated\n version,\n opVersion,\n deleted\n }\n }\n }`\n","export const lostTransmitters = `\n subscription lostTransmitters($opVersion: String) {\n otrackers_losttransmitters(\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n id:transmitterVID\n opVersion\n transmitterReferenceGroupId\n transmitterReferenceType\n transmitterReferenceGroupPath\n lostBy {\n transmitterVID\n receiverVID\n startTime\n endTime\n locationInfo {\n date\n speed\n bearing\n accuracy\n altitude\n longitude\n latitude\n }\n receiverTrackerType\n } \n }\n deleteVersion\n }\n }\n `\n","import { mCommonFields } from '../fragments'\n\nexport const reports = `\n subscription Reports($version: Int!) {\n mreports_getreport(version: $version, subscribe: true)\n {\n ${mCommonFields}\n data {\n id\n name\n description\n route\n version\n }\n }\n }\n `\n","import { mCommonFields } from '../fragments'\n\nexport const jobs = `subscription jobs($version: Int!) { \n mjob_get(version:$version, subscribe: true) {\n ${mCommonFields}\n data {\n id\n createdDateTime\n name\n description\n version\n disabled\n deleted\n trigger {\n __typename\n ... on QMJobTriggerAssetFound {\n assetId\n }\n ... on QMJobTriggerOneshot {\n when\n }\n ... on QMJobTriggerScheduleTimeOfDay {\n startTime\n period\n lastRun\n interval\n }\n ... on QMJobTriggerMonitor\n {\n initialCount\n initialCheck\n url\n }\n ... on QMJobTriggerReferenceLost\n {\n referenceId\n trackerVID\n }\n }\n action {\n __typename\n ... on QMJobActionAssetFoundMail {\n actionType\n assetId\n references\n groups\n }\n ... on QMJobActionReport {\n actionType\n reports {\n reportId\n args {name value }\n }\n groups\n references\n dontSendEmptyReport\n }\n ... on QMJobActionSMS {\n actionType\n userId\n }\n } \n } \n } \n }`\n","import { mCommonFields } from '../fragments'\n\nexport const cycles = `subscription cycles($version: Int!) {\n mcycle_getcycles(version: $version, subscribe: true) {\n ${mCommonFields}\n data {\n id\n name\n isActive\n labelFilter\n startStepId\n stopStepId\n cancelStepId\n deleted\n version\n steps {\n stepId\n name\n estimateDurationInSeconds\n displayOrder\n onlyOnce\n enterRules {\n __typename\n ... on QMFlowRuleOnExitSteps {\n ruleId\n exitStepIds\n }\n ... on QMTrackingEnterRuleReferenceLink {\n ruleId\n referenceIds\n gracePeriodInSeconds\n whenActive\n }\n ... on QMEnterRuleOnReferenceCreate {\n ruleId \n }\n ... on QMFlowForeignEnterRuleOnEnter {\n foreignCycleRelations{\n foreignCycleId\n foreignStepId\n }\n ruleId \n }\n ... on QMTrackingEnterRuleNearestReferenceLink {\n referenceIds\n ruleId \n gracePeriodInSeconds\n }\n } \n exitRules {\n __typename\n ... on QMFlowRuleOnEnterSteps {\n ruleId\n enterStepIds\n }\n ... on QMTrackingExitRuleReferenceLink {\n ruleId\n referenceIds\n gracePeriodInSeconds\n whenActive\n }\n ... on QMFlowForeignExitRuleOnEnter {\n foreignCycleRelations {\n foreignCycleId\n foreignStepId\n }\n ruleId\n }\n ... on QMTrackingExitRuleNearestReferenceLink {\n referenceIds\n ruleId\n gracePeriodInSeconds\n }\n }\n } \n }\n }\n }`\n","export const meshDiagnostics = `\n subscription meshdiagnostics($opVersion: String) {\n otrackers_meshdiagnostics( \n opversion: $opVersion,\n subscribe: true\n ) {\n type\n total\n deleteId\n data {\n id: vID\n vID\n stamp\n opVersion\n advertiserCost\n errorCodes\n nextHopAddress\n nextHopVID\n nextHopPower\n nextHopQuality\n nextHopRSSI\n qualityIndicator\n routersInNeighborhood\n sinkAddress\n sinkVID\n }\n deleteVersion\n }\n }\n `\n","export const gps = `\n subscription getpositionbulk($opVersion: String) {\n otrackers_getpositionsbulk(\n includeInitial: true\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n opVersion\n referenceGroupId\n referenceType\n referenceGroupPath\n stamp\n locationInfo {\n date\n speed\n bearing\n accuracy\n altitude\n longitude\n latitude\n } \n isFixed\n id:trackerVID\n }\n deleteVersion\n }\n } \n `\n","export const linkconnected = `subscription linkconnected($opVersion: String) {\n otrackers_linkconnectedbulk(subscribe: true, includeInitial: true, opVersion: $opVersion) {\n type\n total\n deleteId\n data{\n id: vID\n opVersion\n when\n }\n deleteVersion\n }\n}`\n","export const connected = `subscription connected($opVersion: String) {\n otrackers_connectedbulk(subscribe: true, includeInitial: true, opVersion: $opVersion) {\n type\n total\n deleteId\n data{\n id: vID\n opVersion\n when\n }\n deleteVersion\n }\n}`\n","export const voltage = `subscription voltage($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[EXTERNAL_VOLTAGE], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data { \n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n}`\n","export const internalvoltage = `subscription internalvoltage($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[INTERNAL_VOLTAGE, BATTERY_LEVEL], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n}`\n","export const unplug = `subscription unplug($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[UNPLUG], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n }`\n","export const temperature = `subscription temperature($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[TEMPERATURE], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n }`\n","export const meshscanner = `subscription temperature($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[MESH_GATE_ON], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n }`\n","export const meshdisconnectslasthour = `subscription disconnects($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[DISCONNECTED_IN_THE_LAST_HOUR], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n }`\n","export const activecounter = `subscription activecounter($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[ACTIVE_COUNTER], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n}`\n","export const workseconds = `subscription workseconds($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[WORK_SECONDS], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n}\n}`\n","export const calculatedodometer = `subscription calculatedodometer($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[CALCULATED_ODOMETER], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n}\n}`\n","export const batterypercent = `subscription batterypercent($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[BATTERY_PERCENT], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n}\n}`\n","export const workignition = `subscription workignition($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[WORK_IGNITION], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n}`\n","export const tripignition = `subscription tripignition($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[TRIP_IGNITION], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n}\n}`\n","export const activecycles = `subscription activecycles($opVersion: String){\n ocycle_activecycles(\n includeInitial: true\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n id\n cycleId\n startedAt\n finishedAt\n status\n referenceId\n opVersion\n }\n deleteVersion\n }\n}`\n","export const activesteps = `subscription activesteps($opVersion: String) {\n ocycle_activesteps(\n includeInitial: true\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n id\n stepId\n name\n estimateDurationInSeconds\n displayOrder\n cycleStateId\n enterStamp\n exitStamp\n timeSpentInSeconds\n opVersion\n }\n deleteVersion\n },\n}\n`\n","export const referenceGeoLinks = `subscription referenceGeoLinks($opversion: String){\n oreference_getreferencegeolinksBulk(\n opversion: $opversion\n subscribe: true\n ) {\n type\n total\n deleteId\n data {\n id\n creationTime\n siteId\n referenceId\n opVersion\n deleted\n }\n deleteVersion\n }\n }`\n","export const trips = `subscription trips($opVersion: String) {\n otrip_trips(opversion: $opVersion, subscribe: true) {\n type\n total\n deleteId\n data {\n id: vID\n vID\n start\n stop\n routeDistanceInMeters\n opVersion\n referenceGroupId\n referenceType\n referenceGroupPath\n startPoint: startWayPoint {\n date\n speed\n longitude\n latitude\n } \n endPoint: endWayPoint {\n date\n speed\n longitude\n latitude\n } \n wayPoints: waypoints {\n date\n latitude\n longitude\n speed\n } \n }\n deleteVersion\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const messages = `\n subscription Messages($version:Int!) {\n message_getweb(version: $version) {\n ${mCommonFields}\n data {\n id\n multiId\n version\n createdAt\n from { id fullName mobilePhoneNumber mobileCountryCode email language }\n to { id fullName mobilePhoneNumber mobileCountryCode email language }\n title\n content\n shortContent\n attachmentUrl\n type\n status\n transportTypes\n emailStatus { success errorMessage }\n smsStatus { success errorMessage }\n additionalInfo\n emailTemplate\n deleted\n }\n }\n }\n `\n","export const systemSettings = `subscription systemsetting($version: Int!) {\n mcommon_systemsettings(version: $version, subscribe: true) {\n type\n total\n deleteId\n data {\n version\n id: groupName\n settings {\n id\n name\n level\n parent\n valueOrigin\n value {\n isVisible\n hasChildren\n settingValue\n type\n }\n inputHtml\n } \n }\n deleteVersion\n }\n }`\n","export const settings = `\n subscription settings($version: Int!){\n mcommon_settings(version: $version, subscribe: true) {\n type\n total\n deleteId\n data {\n id: groupId\n version\n groupName\n settings {\n id\n name\n level\n parent\n valueOrigin\n value {\n isVisible\n hasChildren\n settingValue\n type\n }\n inputHtml\n } \n }\n deleteVersion\n }\n }`\n","export const TempSubscriptions = {}\n","import * as subs from './subscriptions'\nimport * as req from './requiredMirrors/index'\nimport * as temp from './tempSubscriptions/index'\n\nexport const Subscriptions = {\n references: subs.references,\n trackers: subs.trackers,\n groups: subs.groups,\n servicePlans: subs.servicePlans,\n trackerLinks: subs.trackerLinks,\n referenceLinks: subs.referenceLinks,\n lostTransmitters: subs.lostTransmitters,\n reports: subs.reports,\n jobs: subs.jobs,\n cycles: subs.cycles,\n meshDiagnostics: subs.meshDiagnostics,\n gps: subs.gps,\n linkconnected: subs.linkconnected,\n connected: subs.connected,\n voltage: subs.voltage,\n internalvoltage: subs.internalvoltage,\n unplug: subs.unplug,\n temperature: subs.temperature,\n meshscanner: subs.meshscanner,\n meshdisconnectslasthour: subs.meshdisconnectslasthour,\n activecounter: subs.activecounter,\n workseconds: subs.workseconds,\n calculatedodometer: subs.calculatedodometer,\n batterypercent: subs.batterypercent,\n workignition: subs.workignition,\n tripignition: subs.tripignition,\n activecycles: subs.activecycles,\n activesteps: subs.activesteps,\n referenceGeoLinks: subs.referenceGeoLinks,\n trips: subs.trips,\n messages: subs.messages\n}\n\nexport const RequiredMirrors = {\n systemSettings: req.systemSettings,\n settings: req.settings\n}\n\nexport const TempSubscriptions = temp.TempSubscriptions\n"],"mappings":"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","names":["TempSubscriptions","EventEmitter","connected","import_eventemitter3","EventEmitter","e","_a","TempSubscriptions"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/MirrorSync.ts","../src/DelegateMap.ts","../node_modules/graphql-ws/dist/common-CGW11Fyb.js","../node_modules/graphql-ws/dist/client.js","../src/SubscriptionClient.ts","../src/definitions/fragments.ts","../src/definitions/subscriptions/references.ts","../src/definitions/subscriptions/trackers.ts","../src/definitions/subscriptions/groups.ts","../src/definitions/subscriptions/servicePlans.ts","../src/definitions/subscriptions/trackerLinks.ts","../src/definitions/subscriptions/referenceLinks.ts","../src/definitions/subscriptions/lostTransmitters.ts","../src/definitions/subscriptions/reports.ts","../src/definitions/subscriptions/jobs.ts","../src/definitions/subscriptions/cycles.ts","../src/definitions/subscriptions/meshDiagnostics.ts","../src/definitions/subscriptions/gps.ts","../src/definitions/subscriptions/linkconnected.ts","../src/definitions/subscriptions/connected.ts","../src/definitions/subscriptions/voltage.ts","../src/definitions/subscriptions/internalvoltage.ts","../src/definitions/subscriptions/unplug.ts","../src/definitions/subscriptions/temperature.ts","../src/definitions/subscriptions/meshscanner.ts","../src/definitions/subscriptions/meshdisconnectslasthour.ts","../src/definitions/subscriptions/activecounter.ts","../src/definitions/subscriptions/workseconds.ts","../src/definitions/subscriptions/calculatedodometer.ts","../src/definitions/subscriptions/batterypercent.ts","../src/definitions/subscriptions/workignition.ts","../src/definitions/subscriptions/tripignition.ts","../src/definitions/subscriptions/activecycles.ts","../src/definitions/subscriptions/activesteps.ts","../src/definitions/subscriptions/referenceGeoLinks.ts","../src/definitions/subscriptions/trips.ts","../src/definitions/subscriptions/messages.ts","../src/definitions/requiredMirrors/systemSettings.ts","../src/definitions/requiredMirrors/settings.ts","../src/definitions/tempSubscriptions/index.ts","../src/definitions/mirrors.ts"],"sourcesContent":["import { MirrorSync } from \"./MirrorSync\";\nimport { ReadonlyMapView, DelegatingObject, DelegatingMap } from \"./DelegateMap\";\nimport SubscriptionClient from \"./SubscriptionClient\";\nimport { symlink } from \"fs\";\nimport { create } from \"domain\";\nimport { Subscriptions } from \"./definitions/mirrors\";\n\nexport { SubscriptionClient, MirrorSync, DelegatingObject };\n// Also expose the curated/fragmented subscription collections\nexport { Subscriptions, RequiredMirrors, TempSubscriptions } from './definitions/mirrors';\nexport type { ReadonlyMapView };\n\nexport class Connection<T extends MirrorSync> extends SubscriptionClient {\n public Mirrors: Map<string, T> = new Map();\n constructor() {\n super();\n }\n InitConnection(url: string, connectionParams: () => Promise<Record<string, unknown> | Record<string, unknown>>) {\n this.InitClient({\n url: url,\n connectionParams: connectionParams\n });\n }\n\n registerMirror(name: string, subscription: string, baseVariables: Record<string, unknown>): T {\n let entry = this.Mirrors.get(name);\n if (!entry) {\n const sync = this.createMirror(name, subscription, baseVariables);\n const forward = (event: string, payload: any) => {\n this.emit(`mirror:${event}`, { mirrorName: name, ...payload });\n };\n const handlers: Array<[string, (...args: any[]) => void]> = [\n ['start', (p) => forward('start', p)],\n ['updated', (p) => forward('updated', p)],\n ['deleted', (p) => forward('deleted', p)],\n ['done', (p) => forward('done', p)],\n ['versionError', (p) => forward('versionError', p)],\n ['resubscribe', (p) => forward('resubscribe', p)],\n ['error', (p) => forward('error', p)],\n ];\n handlers.forEach(([e, h]) => sync.on(e as any, h)); \n this.Mirrors.set(name, sync);\n entry = sync;\n this.emit('mirror:registered', entry);\n }\n return entry;\n }\n async getMirror(name: string, subscription: string, baseVariables: Record<string, unknown>): Promise<ReadonlyMapView<string, any>> {\n let entry = this.registerMirror(name, subscription, baseVariables);\n await entry.load();\n return new DelegatingMap(() => entry!.Storage);\n } \n createMirror(name: string, subscription: string, baseVariables: Record<string, unknown>): T {\n return new MirrorSync(this, { subscription, baseVariables }) as T;\n }\n async getPredefinedMirror(name: string): Promise<ReadonlyMapView<string, any>> {\n let subscription = Subscriptions[name as keyof typeof Subscriptions];\n if (!subscription) throw new Error(`No predefined mirror with name '${name}'`);\n let baseVariables: Record<string, unknown> = {}; \n return this.getMirror(name, subscription, baseVariables);\n }\n\n removeMirror(name: string): void {\n const entry = this.Mirrors.get(name);\n if (!entry) return;\n entry.removeAllListeners();\n entry.stop();\n this.Mirrors.delete(name);\n this.emit('mirror:removed', { mirrorName: name });\n }\n\n clearMirrors(): void {\n for (const name of Array.from(this.Mirrors.keys())) {\n this.removeMirror(name);\n }\n this.emit('mirror:cleared');\n }\n}\n","import { DelegatingMap, ReadonlyMapView } from './DelegateMap';\nimport { SubscriptionClient } from './SubscriptionClient';\nimport EventEmitter from 'eventemitter3';\n\n// SyncType enum as described\nexport enum SyncType {\n DELETED = 'DELETED',\n UPDATED = 'UPDATED',\n START = 'START',\n DONE = 'DONE',\n VERSION_ERROR = 'VERSION_ERROR',\n}\n\n// Shape of the subscription payload (generic)\nexport interface CacheSyncResult {\n type: SyncType;\n total?: number | null;\n deleteId?: string; // ObjectId as string\n data?: any;\n deleteVersion?: number;\n // Optional operation-based versioning (string) for hybrid mode\n deleteOpVersion?: string;\n opVersion?: string; // May appear on items inside data\n}\n\nexport interface MirrorSyncOptions {\n /** Subscription document (query string) */\n subscription: string;\n /** Optional logger */\n /** Custom variables base (besides version) */\n baseVariables?: Record<string, unknown>;\n}\n\nexport interface MirrorStats {\n version: number; // numeric version cursor\n opVersion?: string | null; // operation (ObjectId) cursor\n size: number;\n fullSyncInProgress: boolean;\n totalHint?: number | null;\n}\n\nexport interface MirrorSyncEvents {\n start: (payload: { full: boolean }) => void;\n updated: (payload: { doc: MirrorItem; orgDoc: MirrorItem | undefined; full: boolean }) => void;\n deleted: (payload: { orgDoc: MirrorItem }) => void;\n done: (payload: { full: boolean }) => void;\n versionError: (payload: { currentVersion: number }) => void;\n resubscribe: (payload: { fromVersion: number }) => void;\n error?: (errors: any) => void;\n}\n\n\nexport interface MirrorItem { id: string; version?: number; opVersion?: string;[k: string]: any, deleted?: boolean; }\n\n/**\n * MirrorSync maintains an in-memory mirror of server state based on CacheSyncResult messages.\n * Generic TBase is the item shape (must include id & version).\n */\nexport class MirrorSync extends EventEmitter {\n private client: SubscriptionClient;\n private options: MirrorSyncOptions;\n private _mirror = new Map<string, MirrorItem>();\n private get mirror() { return this._mirror; } \n private buffer: Map<string, MirrorItem> | null = null; // used during full/resubscription phase\n private currentVersion = -1; // numeric cursor (-1 => full sync needed)\n private currentOpVersion: string | null = null; // op cursor (null => full sync needed)\n private unsub: (() => void) | null = null;\n private fullSyncPhase = false; // only true during START..DONE when initiating from version -1\n private log?: (msg: string, meta?: any) => void;\n /** Deferred promise resolved on first DONE after a (re)start full sync cycle. Reset on constructor, start(), and VERSION_ERROR re-init. */\n public loaded!: Promise<ReadonlyMapView<string, any>>; // set via resetLoaded()\n private resolveLoaded?: (ref: ReadonlyMapView<string, any>) => void;\n // Stored client event handlers to allow proper detachment\n private __onReconnected?: () => void;\n private __onConnected?: () => void;\n private backlog: (() => void)[] = [];\n\n get Storage(): ReadonlyMapView<string, any> { return this.mirror; }\n get version(): number { return this.currentVersion; } \n get opVersion(): string | null { return this.currentOpVersion; }\n\n constructor(client: SubscriptionClient, options: MirrorSyncOptions & { log?: (msg: string, meta?: any) => void }) {\n super();\n this.client = client;\n this.options = options;\n this.log = options.log;\n this.attachClientEvents();\n this.resetLoaded();\n }\n\n private l(msg: string, meta?: any) { if (this.log) this.log(msg, meta); }\n\n private attachClientEvents() {\n this.__onReconnected = () => {\n this.emit('resubscribe', { fromVersion: this.currentVersion });\n this.resubscribe();\n };\n this.__onConnected = () => {\n if ((this.currentVersion === -1 || this.currentOpVersion === null) && !this.unsub) {\n this.l('initial connected subscribe', { version: this.currentVersion, opVersion: this.currentOpVersion });\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n }\n };\n this.client.on('reconnected', this.__onReconnected);\n this.client.on('connected', this.__onConnected);\n }\n\n private detachClientEvents() {\n if (this.__onReconnected) {\n this.client.off('reconnected', this.__onReconnected);\n this.__onReconnected = undefined;\n }\n if (this.__onConnected) {\n this.client.off('connected', this.__onConnected);\n this.__onConnected = undefined;\n }\n }\n\n private targetMap(): Map<string, MirrorItem> { return (this.fullSyncPhase && this.buffer) ? this.buffer! : this.mirror; }\n private advanceNumeric(v?: number) { if (typeof v === 'number' && v > this.currentVersion) this.currentVersion = v; }\n private advanceOp(v?: string) { if (v && (!this.currentOpVersion || v > this.currentOpVersion)) this.currentOpVersion = v; }\n\n private subscribeInternal(version: number, opVersion: string | null) {\n if (!this.client) throw new Error('SubscriptionClient missing');\n if (this.unsub) { this.unsub(); this.unsub = null; }\n const variables = { version, opVersion, ...(this.options.baseVariables || {}) };\n this.l('subscribe', { version, opVersion });\n this.unsub = this.client.clientsubscribe<{ [k: string]: CacheSyncResult }>(\n { query: this.options.subscription, variables },\n {\n next: (envelope: { data?: { [k: string]: CacheSyncResult }; errors?: any }) => {\n if (envelope.errors) {\n this.l('graphql errors', envelope.errors);\n this.emit('error', envelope.errors);\n }\n const payload = envelope.data as { [k: string]: CacheSyncResult } | undefined;\n if (payload) this.handlePayload(payload);\n },\n error: (err: unknown) => {\n this.l('subscription error', err);\n this.emit('error', err);\n },\n complete: () => this.l('subscription complete'),\n }\n );\n }\n\n private resubscribe() {\n // Resubscribe starting from current cursors\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n }\n\n private start() {\n if (!this.client.isConnected()) { this.l('start deferred (not connected)'); return; }\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n }\n\n load(): Promise<ReadonlyMapView<string, any>> {\n if (!this.unsub) this.start();\n return this.loaded;\n }\n private resetLoaded() {\n this.loaded = new Promise<ReadonlyMapView<string, any>>(resolve => {\n this.resolveLoaded = resolve;\n });\n }\n\n private handlePayload(raw: { [k: string]: CacheSyncResult } | undefined) {\n if (!raw) return;\n // Always pick the first field in the payload object regardless of configured rootField\n const firstKey = Object.keys(raw)[0];\n if (!firstKey) return;\n const msg = raw[firstKey];\n if (!msg) return;\n const { type } = msg;\n switch (type) {\n case SyncType.START: {\n // Only allocate a new buffer for a true full sync; for delta/resubscribe we append directly\n this.buffer = this.fullSyncPhase ? new Map() : null;\n const payload = { full: this.fullSyncPhase };\n this.emit('start', payload);\n break;\n }\n case SyncType.UPDATED:\n this.applyUpdated(msg.data);\n break;\n case SyncType.DELETED:\n this.applyDeleted(msg.deleteId, msg.deleteVersion, msg.deleteOpVersion);\n break;\n case SyncType.DONE: {\n const wasFull = this.fullSyncPhase;\n if (wasFull && this.buffer) {\n this._mirror = this.buffer;\n this.buffer = null;\n }\n this.fullSyncPhase = false;\n const d = { full: wasFull };\n if (wasFull) {\n for (const b of this.backlog) b();\n this.backlog = [];\n }\n this.emit('done', d);\n // Resolve deferred if pending\n if (this.resolveLoaded) {\n const r = this.resolveLoaded; this.resolveLoaded = undefined; r(this.mirror);\n }\n break;\n }\n case SyncType.VERSION_ERROR:\n const ve = { currentVersion: this.currentVersion };\n this.emit('versionError', ve);\n // restart as full sync\n this.currentVersion = -1;\n this.currentOpVersion = null;\n this.buffer = new Map();\n this.fullSyncPhase = true;\n this.resetLoaded();\n this.subscribeInternal(this.currentVersion, this.currentOpVersion);\n break;\n }\n }\n\n private normalizeItems(data: any): MirrorItem[] {\n if (!data) return [];\n return Array.isArray(data) ? data : [data];\n }\n\n private applyUpdated(data: any) {\n for (const item of this.normalizeItems(data)) {\n if (!item || typeof item.id !== 'string') continue;\n if (item.deleted) {\n this.applyDeleted(item.id, item.version, item.opVersion);\n continue;\n }\n const hasNumeric = typeof item.version === 'number';\n const hasOp = typeof item.opVersion === 'string';\n if (!hasNumeric && !hasOp) continue;\n const existing = this.targetMap().get(item.id);\n const newerNumeric = hasNumeric && (!existing?.version || item.version! >= existing.version);\n const newerOp = hasOp && (!existing?.opVersion || item.opVersion! >= existing.opVersion);\n if (!existing || newerNumeric || newerOp) {\n this.targetMap().set(item.id, item);\n this.advanceNumeric(item.version);\n this.advanceOp(item.opVersion);\n if (this.fullSyncPhase) {\n this.backlog.push(() => this.emit('updated', { doc:item, orgDoc: existing, full: this.fullSyncPhase }));\n } else {\n this.emit('updated', { doc:item, orgDoc: existing, full: this.fullSyncPhase });\n }\n }\n }\n }\n private applyDeleted(id?: string, deleteVersion?: number, deleteOpVersion?: string) { \n if (!id || this.fullSyncPhase) return;\n const numericStale = !this.fullSyncPhase && typeof deleteVersion === 'number' && this.currentVersion >= 0 && deleteVersion < this.currentVersion;\n const opStale = !this.fullSyncPhase && deleteOpVersion && this.currentOpVersion && deleteOpVersion < this.currentOpVersion;\n if (numericStale && opStale) {\n this.l?.('skip stale delete', { id, deleteVersion, deleteOpVersion });\n return;\n }\n let toDelete = this.mirror.get(id); \n this.advanceNumeric(deleteVersion);\n this.advanceOp(deleteOpVersion);\n if (!this.fullSyncPhase && !!toDelete) {\n this.mirror.delete(id);\n this.emit('deleted', { orgDoc: toDelete });\n }\n }\n\n get(id: string): any | undefined { return this.mirror.get(id); }\n values(): any[] { return Array.from(this.mirror.values()); }\n stats(): MirrorStats { return { version: this.currentVersion, opVersion: this.currentOpVersion, size: this.mirror.size, fullSyncInProgress: this.fullSyncPhase }; }\n\n stop() {\n if (this.unsub) { this.unsub(); this.unsub = null; }\n this.detachClientEvents();\n this.currentVersion = -1;\n this.currentOpVersion = null;\n this.buffer = null;\n if (this.resolveLoaded) {\n const r = this.resolveLoaded; this.resolveLoaded = undefined; r(this.mirror);\n }\n this.resetLoaded();\n }\n}\n","// Restored specialized read-only view interface (runtime enforced via absence of mutators)\nexport interface ReadonlyMapView<K, V> extends Iterable<[K, V]> {\n readonly size: number;\n get(key: K): V | undefined;\n has(key: K): boolean;\n entries(): IterableIterator<[K, V]>;\n keys(): IterableIterator<K>;\n values(): IterableIterator<V>;\n forEach(callbackfn: (value: V, key: K, map: ReadonlyMapView<K, V>) => void, thisArg?: any): void;\n [Symbol.iterator](): IterableIterator<[K, V]>;\n}\n\nexport class DelegatingMap<K, V> implements ReadonlyMapView<K, V> {\n constructor(private readonly resolver: () => ReadonlyMapView<K, V>) { }\n private t(): ReadonlyMapView<K, V> { return this.resolver(); }\n get size(): number { return this.t().size; }\n get(key: K): V | undefined { return this.t().get(key); }\n has(key: K): boolean { return this.t().has(key); }\n entries(): IterableIterator<[K, V]> { return this.t().entries(); }\n keys(): IterableIterator<K> { return this.t().keys(); }\n values(): IterableIterator<V> { return this.t().values(); }\n forEach(callbackfn: (value: V, key: K, map: ReadonlyMapView<K, V>) => void, thisArg?: any): void {\n this.t().forEach(((v: V, k: K) => callbackfn(v, k, this)) as any, thisArg);\n }\n [Symbol.iterator](): IterableIterator<[K, V]> { return this.t()[Symbol.iterator](); }\n}\n\n/**\n * Presents a ReadonlyMapView<K,V> as an immutable plain object via Proxy.\n * Optionally maps values through a mapper function on access.\n */\nexport class DelegatingObject<K extends string, V, R = V> {\n private readonly proxy: Record<K, R>;\n constructor(private readonly source: ReadonlyMapView<K, V>, private readonly mapFn?: (value: V, key: K) => R) {\n const mapper = (v: V, k: K): R => (this.mapFn ? this.mapFn(v, k) : (v as unknown as R));\n const handler: ProxyHandler<any> = {\n get: (_target, prop: PropertyKey, receiver) => {\n if (prop === Symbol.toStringTag) return 'Object';\n if (typeof prop !== 'string') return Reflect.get(Object.prototype, prop, receiver);\n const key = prop as K;\n const v = this.source.get(key);\n return v === undefined ? undefined : mapper(v, key);\n },\n set: () => false, // immutable\n has: (_target, prop: PropertyKey) => typeof prop === 'string' && this.source.has(prop as K),\n deleteProperty: () => false, // immutable\n ownKeys: () => Array.from(this.source.keys() as unknown as IterableIterator<string>),\n getOwnPropertyDescriptor: (_target, prop: PropertyKey) => {\n if (typeof prop === 'string' && this.source.has(prop as K)) {\n const key = prop as K;\n const v = this.source.get(key)!;\n return { configurable: true, enumerable: true, value: mapper(v, key) };\n }\n return undefined;\n },\n defineProperty: () => false, // immutable\n };\n this.proxy = new Proxy(Object.create(null), handler);\n }\n asObject(): Record<K, R> { return this.proxy; }\n}\n","function extendedTypeof(val) {\n if (val === null) {\n return \"null\";\n }\n if (Array.isArray(val)) {\n return \"array\";\n }\n return typeof val;\n}\nfunction isObject(val) {\n return extendedTypeof(val) === \"object\";\n}\nfunction isAsyncIterable(val) {\n return typeof Object(val)[Symbol.asyncIterator] === \"function\";\n}\nfunction isAsyncGenerator(val) {\n return isObject(val) && typeof Object(val)[Symbol.asyncIterator] === \"function\" && typeof val.return === \"function\";\n}\nfunction areGraphQLFormattedErrors(obj) {\n return Array.isArray(obj) && // must be at least one error\n obj.length > 0 && // error has at least a message\n obj.every((ob) => \"message\" in ob);\n}\nfunction limitCloseReason(reason, whenTooLong) {\n return reason.length < 124 ? reason : whenTooLong;\n}\n\nconst GRAPHQL_TRANSPORT_WS_PROTOCOL = \"graphql-transport-ws\";\nconst DEPRECATED_GRAPHQL_WS_PROTOCOL = \"graphql-ws\";\nvar CloseCode = /* @__PURE__ */ ((CloseCode2) => {\n CloseCode2[CloseCode2[\"InternalServerError\"] = 4500] = \"InternalServerError\";\n CloseCode2[CloseCode2[\"InternalClientError\"] = 4005] = \"InternalClientError\";\n CloseCode2[CloseCode2[\"BadRequest\"] = 4400] = \"BadRequest\";\n CloseCode2[CloseCode2[\"BadResponse\"] = 4004] = \"BadResponse\";\n CloseCode2[CloseCode2[\"Unauthorized\"] = 4401] = \"Unauthorized\";\n CloseCode2[CloseCode2[\"Forbidden\"] = 4403] = \"Forbidden\";\n CloseCode2[CloseCode2[\"SubprotocolNotAcceptable\"] = 4406] = \"SubprotocolNotAcceptable\";\n CloseCode2[CloseCode2[\"ConnectionInitialisationTimeout\"] = 4408] = \"ConnectionInitialisationTimeout\";\n CloseCode2[CloseCode2[\"ConnectionAcknowledgementTimeout\"] = 4504] = \"ConnectionAcknowledgementTimeout\";\n CloseCode2[CloseCode2[\"SubscriberAlreadyExists\"] = 4409] = \"SubscriberAlreadyExists\";\n CloseCode2[CloseCode2[\"TooManyInitialisationRequests\"] = 4429] = \"TooManyInitialisationRequests\";\n return CloseCode2;\n})(CloseCode || {});\nvar MessageType = /* @__PURE__ */ ((MessageType2) => {\n MessageType2[\"ConnectionInit\"] = \"connection_init\";\n MessageType2[\"ConnectionAck\"] = \"connection_ack\";\n MessageType2[\"Ping\"] = \"ping\";\n MessageType2[\"Pong\"] = \"pong\";\n MessageType2[\"Subscribe\"] = \"subscribe\";\n MessageType2[\"Next\"] = \"next\";\n MessageType2[\"Error\"] = \"error\";\n MessageType2[\"Complete\"] = \"complete\";\n return MessageType2;\n})(MessageType || {});\nfunction validateMessage(val) {\n if (!isObject(val)) {\n throw new Error(\n `Message is expected to be an object, but got ${extendedTypeof(val)}`\n );\n }\n if (!val.type) {\n throw new Error(`Message is missing the 'type' property`);\n }\n if (typeof val.type !== \"string\") {\n throw new Error(\n `Message is expects the 'type' property to be a string, but got ${extendedTypeof(\n val.type\n )}`\n );\n }\n switch (val.type) {\n case \"connection_init\" /* ConnectionInit */:\n case \"connection_ack\" /* ConnectionAck */:\n case \"ping\" /* Ping */:\n case \"pong\" /* Pong */: {\n if (val.payload != null && !isObject(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an object or nullish or missing, but got \"${val.payload}\"`\n );\n }\n break;\n }\n case \"subscribe\" /* Subscribe */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n if (!isObject(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an object, but got ${extendedTypeof(\n val.payload\n )}`\n );\n }\n if (typeof val.payload.query !== \"string\") {\n throw new Error(\n `\"${val.type}\" message payload expects the 'query' property to be a string, but got ${extendedTypeof(\n val.payload.query\n )}`\n );\n }\n if (val.payload.variables != null && !isObject(val.payload.variables)) {\n throw new Error(\n `\"${val.type}\" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${extendedTypeof(\n val.payload.variables\n )}`\n );\n }\n if (val.payload.operationName != null && extendedTypeof(val.payload.operationName) !== \"string\") {\n throw new Error(\n `\"${val.type}\" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${extendedTypeof(\n val.payload.operationName\n )}`\n );\n }\n if (val.payload.extensions != null && !isObject(val.payload.extensions)) {\n throw new Error(\n `\"${val.type}\" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${extendedTypeof(\n val.payload.extensions\n )}`\n );\n }\n break;\n }\n case \"next\" /* Next */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n if (!isObject(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an object, but got ${extendedTypeof(\n val.payload\n )}`\n );\n }\n break;\n }\n case \"error\" /* Error */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n if (!areGraphQLFormattedErrors(val.payload)) {\n throw new Error(\n `\"${val.type}\" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(\n val.payload\n )}`\n );\n }\n break;\n }\n case \"complete\" /* Complete */: {\n if (typeof val.id !== \"string\") {\n throw new Error(\n `\"${val.type}\" message expects the 'id' property to be a string, but got ${extendedTypeof(\n val.id\n )}`\n );\n }\n if (!val.id) {\n throw new Error(\n `\"${val.type}\" message requires a non-empty 'id' property`\n );\n }\n break;\n }\n default:\n throw new Error(`Invalid message 'type' property \"${val.type}\"`);\n }\n return val;\n}\nfunction parseMessage(data, reviver) {\n return validateMessage(\n typeof data === \"string\" ? JSON.parse(data, reviver) : data\n );\n}\nfunction stringifyMessage(msg, replacer) {\n validateMessage(msg);\n return JSON.stringify(msg, replacer);\n}\n\nexport { CloseCode as C, DEPRECATED_GRAPHQL_WS_PROTOCOL as D, GRAPHQL_TRANSPORT_WS_PROTOCOL as G, MessageType as M, isAsyncGenerator as a, isAsyncIterable as b, isObject as i, limitCloseReason as l, parseMessage as p, stringifyMessage as s, validateMessage as v };\n","import { i as isObject, G as GRAPHQL_TRANSPORT_WS_PROTOCOL, s as stringifyMessage, M as MessageType, C as CloseCode, l as limitCloseReason, p as parseMessage } from './common-CGW11Fyb.js';\nexport { D as DEPRECATED_GRAPHQL_WS_PROTOCOL, v as validateMessage } from './common-CGW11Fyb.js';\n\nfunction createClient(options) {\n const {\n url,\n connectionParams,\n lazy = true,\n onNonLazyError = console.error,\n lazyCloseTimeout: lazyCloseTimeoutMs = 0,\n keepAlive = 0,\n disablePong,\n connectionAckWaitTimeout = 0,\n retryAttempts = 5,\n retryWait = async function randomisedExponentialBackoff(retries2) {\n const retryDelaySeconds = Math.pow(2, retries2);\n await new Promise(\n (resolve) => setTimeout(\n resolve,\n retryDelaySeconds * 1e3 + // add random timeout from 300ms to 3s\n Math.floor(Math.random() * (3e3 - 300) + 300)\n )\n );\n },\n shouldRetry = isLikeCloseEvent,\n on,\n webSocketImpl,\n /**\n * Generates a v4 UUID to be used as the ID using `Math`\n * as the random number generator. Supply your own generator\n * in case you need more uniqueness.\n *\n * Reference: https://gist.github.com/jed/982883\n */\n generateID = function generateUUID() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0, v = c == \"x\" ? r : r & 3 | 8;\n return v.toString(16);\n });\n },\n jsonMessageReplacer: replacer,\n jsonMessageReviver: reviver\n } = options;\n let ws;\n if (webSocketImpl) {\n if (!isWebSocket(webSocketImpl)) {\n throw new Error(\"Invalid WebSocket implementation provided\");\n }\n ws = webSocketImpl;\n } else if (typeof WebSocket !== \"undefined\") {\n ws = WebSocket;\n } else if (typeof global !== \"undefined\") {\n ws = global.WebSocket || // @ts-expect-error: Support more browsers\n global.MozWebSocket;\n } else if (typeof window !== \"undefined\") {\n ws = window.WebSocket || // @ts-expect-error: Support more browsers\n window.MozWebSocket;\n }\n if (!ws)\n throw new Error(\n \"WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`\"\n );\n const WebSocketImpl = ws;\n const emitter = (() => {\n const message = /* @__PURE__ */ (() => {\n const listeners2 = {};\n return {\n on(id, listener) {\n listeners2[id] = listener;\n return () => {\n delete listeners2[id];\n };\n },\n emit(message2) {\n if (\"id\" in message2) listeners2[message2.id]?.(message2);\n }\n };\n })();\n const listeners = {\n connecting: on?.connecting ? [on.connecting] : [],\n opened: on?.opened ? [on.opened] : [],\n connected: on?.connected ? [on.connected] : [],\n ping: on?.ping ? [on.ping] : [],\n pong: on?.pong ? [on.pong] : [],\n message: on?.message ? [message.emit, on.message] : [message.emit],\n closed: on?.closed ? [on.closed] : [],\n error: on?.error ? [on.error] : []\n };\n return {\n onMessage: message.on,\n on(event, listener) {\n const l = listeners[event];\n l.push(listener);\n return () => {\n l.splice(l.indexOf(listener), 1);\n };\n },\n emit(event, ...args) {\n for (const listener of [...listeners[event]]) {\n listener(...args);\n }\n }\n };\n })();\n function errorOrClosed(cb) {\n const listening = [\n // errors are fatal and more critical than close events, throw them first\n emitter.on(\"error\", (err) => {\n listening.forEach((unlisten) => unlisten());\n cb(err);\n }),\n // closes can be graceful and not fatal, throw them second (if error didnt throw)\n emitter.on(\"closed\", (event) => {\n listening.forEach((unlisten) => unlisten());\n cb(event);\n })\n ];\n }\n let connecting, locks = 0, lazyCloseTimeout, retrying = false, retries = 0, disposed = false;\n async function connect() {\n clearTimeout(lazyCloseTimeout);\n const [socket, throwOnClose] = await (connecting ?? (connecting = new Promise(\n (connected, denied) => (async () => {\n if (retrying) {\n await retryWait(retries);\n if (!locks) {\n connecting = void 0;\n return denied({ code: 1e3, reason: \"All Subscriptions Gone\" });\n }\n retries++;\n }\n emitter.emit(\"connecting\", retrying);\n const socket2 = new WebSocketImpl(\n typeof url === \"function\" ? await url() : url,\n GRAPHQL_TRANSPORT_WS_PROTOCOL\n );\n let connectionAckTimeout, queuedPing;\n function enqueuePing() {\n if (isFinite(keepAlive) && keepAlive > 0) {\n clearTimeout(queuedPing);\n queuedPing = setTimeout(() => {\n if (socket2.readyState === WebSocketImpl.OPEN) {\n socket2.send(stringifyMessage({ type: MessageType.Ping }));\n emitter.emit(\"ping\", false, void 0);\n }\n }, keepAlive);\n }\n }\n errorOrClosed((errOrEvent) => {\n connecting = void 0;\n clearTimeout(connectionAckTimeout);\n clearTimeout(queuedPing);\n denied(errOrEvent);\n if (errOrEvent instanceof TerminatedCloseEvent) {\n socket2.close(4499, \"Terminated\");\n socket2.onerror = null;\n socket2.onclose = null;\n }\n });\n socket2.onerror = (err) => emitter.emit(\"error\", err);\n socket2.onclose = (event) => emitter.emit(\"closed\", event);\n socket2.onopen = async () => {\n try {\n emitter.emit(\"opened\", socket2);\n const payload = typeof connectionParams === \"function\" ? await connectionParams() : connectionParams;\n if (socket2.readyState !== WebSocketImpl.OPEN) return;\n socket2.send(\n stringifyMessage(\n payload ? {\n type: MessageType.ConnectionInit,\n payload\n } : {\n type: MessageType.ConnectionInit\n // payload is completely absent if not provided\n },\n replacer\n )\n );\n if (isFinite(connectionAckWaitTimeout) && connectionAckWaitTimeout > 0) {\n connectionAckTimeout = setTimeout(() => {\n socket2.close(\n CloseCode.ConnectionAcknowledgementTimeout,\n \"Connection acknowledgement timeout\"\n );\n }, connectionAckWaitTimeout);\n }\n enqueuePing();\n } catch (err) {\n emitter.emit(\"error\", err);\n socket2.close(\n CloseCode.InternalClientError,\n limitCloseReason(\n err instanceof Error ? err.message : String(err),\n \"Internal client error\"\n )\n );\n }\n };\n let acknowledged = false;\n socket2.onmessage = ({ data }) => {\n try {\n const message = parseMessage(data, reviver);\n emitter.emit(\"message\", message);\n if (message.type === \"ping\" || message.type === \"pong\") {\n emitter.emit(message.type, true, message.payload);\n if (message.type === \"pong\") {\n enqueuePing();\n } else if (!disablePong) {\n socket2.send(\n stringifyMessage(\n message.payload ? {\n type: MessageType.Pong,\n payload: message.payload\n } : {\n type: MessageType.Pong\n // payload is completely absent if not provided\n }\n )\n );\n emitter.emit(\"pong\", false, message.payload);\n }\n return;\n }\n if (acknowledged) return;\n if (message.type !== MessageType.ConnectionAck)\n throw new Error(\n `First message cannot be of type ${message.type}`\n );\n clearTimeout(connectionAckTimeout);\n acknowledged = true;\n emitter.emit(\"connected\", socket2, message.payload, retrying);\n retrying = false;\n retries = 0;\n connected([\n socket2,\n new Promise((_, reject) => errorOrClosed(reject))\n ]);\n } catch (err) {\n socket2.onmessage = null;\n emitter.emit(\"error\", err);\n socket2.close(\n CloseCode.BadResponse,\n limitCloseReason(\n err instanceof Error ? err.message : String(err),\n \"Bad response\"\n )\n );\n }\n };\n })()\n )));\n if (socket.readyState === WebSocketImpl.CLOSING) await throwOnClose;\n let release = () => {\n };\n const released = new Promise((resolve) => release = resolve);\n return [\n socket,\n release,\n Promise.race([\n // wait for\n released.then(() => {\n if (!locks) {\n const complete = () => socket.close(1e3, \"Normal Closure\");\n if (isFinite(lazyCloseTimeoutMs) && lazyCloseTimeoutMs > 0) {\n lazyCloseTimeout = setTimeout(() => {\n if (socket.readyState === WebSocketImpl.OPEN) complete();\n }, lazyCloseTimeoutMs);\n } else {\n complete();\n }\n }\n }),\n // or\n throwOnClose\n ])\n ];\n }\n function shouldRetryConnectOrThrow(errOrCloseEvent) {\n if (isLikeCloseEvent(errOrCloseEvent) && (isFatalInternalCloseCode(errOrCloseEvent.code) || [\n CloseCode.InternalServerError,\n CloseCode.InternalClientError,\n CloseCode.BadRequest,\n CloseCode.BadResponse,\n CloseCode.Unauthorized,\n // CloseCode.Forbidden, might grant access out after retry\n CloseCode.SubprotocolNotAcceptable,\n // CloseCode.ConnectionInitialisationTimeout, might not time out after retry\n // CloseCode.ConnectionAcknowledgementTimeout, might not time out after retry\n CloseCode.SubscriberAlreadyExists,\n CloseCode.TooManyInitialisationRequests\n // 4499, // Terminated, probably because the socket froze, we want to retry\n ].includes(errOrCloseEvent.code)))\n throw errOrCloseEvent;\n if (disposed) return false;\n if (isLikeCloseEvent(errOrCloseEvent) && errOrCloseEvent.code === 1e3)\n return locks > 0;\n if (!retryAttempts || retries >= retryAttempts) throw errOrCloseEvent;\n if (!shouldRetry(errOrCloseEvent)) throw errOrCloseEvent;\n return retrying = true;\n }\n if (!lazy) {\n (async () => {\n locks++;\n for (; ; ) {\n try {\n const [, , throwOnClose] = await connect();\n await throwOnClose;\n } catch (errOrCloseEvent) {\n try {\n if (!shouldRetryConnectOrThrow(errOrCloseEvent)) return;\n } catch (errOrCloseEvent2) {\n return onNonLazyError?.(errOrCloseEvent2);\n }\n }\n }\n })();\n }\n function subscribe(payload, sink) {\n const id = generateID(payload);\n let done = false, errored = false, releaser = () => {\n locks--;\n done = true;\n };\n (async () => {\n locks++;\n for (; ; ) {\n try {\n const [socket, release, waitForReleaseOrThrowOnClose] = await connect();\n if (done) return release();\n const unlisten = emitter.onMessage(id, (message) => {\n switch (message.type) {\n case MessageType.Next: {\n sink.next(message.payload);\n return;\n }\n case MessageType.Error: {\n errored = true, done = true;\n sink.error(message.payload);\n releaser();\n return;\n }\n case MessageType.Complete: {\n done = true;\n releaser();\n return;\n }\n }\n });\n socket.send(\n stringifyMessage(\n {\n id,\n type: MessageType.Subscribe,\n payload\n },\n replacer\n )\n );\n releaser = () => {\n if (!done && socket.readyState === WebSocketImpl.OPEN)\n socket.send(\n stringifyMessage(\n {\n id,\n type: MessageType.Complete\n },\n replacer\n )\n );\n locks--;\n done = true;\n release();\n };\n await waitForReleaseOrThrowOnClose.finally(unlisten);\n return;\n } catch (errOrCloseEvent) {\n if (!shouldRetryConnectOrThrow(errOrCloseEvent)) return;\n }\n }\n })().then(() => {\n if (!errored) sink.complete();\n }).catch((err) => {\n sink.error(err);\n });\n return () => {\n if (!done) releaser();\n };\n }\n return {\n on: emitter.on,\n subscribe,\n iterate(request) {\n const pending = [];\n const deferred = {\n done: false,\n error: null,\n resolve: () => {\n }\n };\n const dispose = subscribe(request, {\n next(val) {\n pending.push(val);\n deferred.resolve();\n },\n error(err) {\n deferred.done = true;\n deferred.error = err;\n deferred.resolve();\n },\n complete() {\n deferred.done = true;\n deferred.resolve();\n }\n });\n const iterator = async function* iterator2() {\n for (; ; ) {\n if (!pending.length) {\n await new Promise((resolve) => deferred.resolve = resolve);\n }\n while (pending.length) {\n yield pending.shift();\n }\n if (deferred.error) {\n throw deferred.error;\n }\n if (deferred.done) {\n return;\n }\n }\n }();\n iterator.throw = async (err) => {\n if (!deferred.done) {\n deferred.done = true;\n deferred.error = err;\n deferred.resolve();\n }\n return { done: true, value: void 0 };\n };\n iterator.return = async () => {\n dispose();\n return { done: true, value: void 0 };\n };\n return iterator;\n },\n async dispose() {\n disposed = true;\n if (connecting) {\n const [socket] = await connecting;\n socket.close(1e3, \"Normal Closure\");\n }\n },\n terminate() {\n if (connecting) {\n emitter.emit(\"closed\", new TerminatedCloseEvent());\n }\n }\n };\n}\nclass TerminatedCloseEvent extends Error {\n name = \"TerminatedCloseEvent\";\n message = \"4499: Terminated\";\n code = 4499;\n reason = \"Terminated\";\n wasClean = false;\n}\nfunction isLikeCloseEvent(val) {\n return isObject(val) && \"code\" in val && \"reason\" in val;\n}\nfunction isFatalInternalCloseCode(code) {\n if ([\n 1e3,\n // Normal Closure is not an erroneous close code\n 1001,\n // Going Away\n 1006,\n // Abnormal Closure\n 1005,\n // No Status Received\n 1012,\n // Service Restart\n 1013,\n // Try Again Later\n 1014\n // Bad Gateway\n ].includes(code))\n return false;\n return code >= 1e3 && code <= 1999;\n}\nfunction isWebSocket(val) {\n return typeof val === \"function\" && \"constructor\" in val && \"CLOSED\" in val && \"CLOSING\" in val && \"CONNECTING\" in val && \"OPEN\" in val;\n}\n\nexport { CloseCode, GRAPHQL_TRANSPORT_WS_PROTOCOL, MessageType, TerminatedCloseEvent, createClient, parseMessage, stringifyMessage };\n","import { createClient, Client, ClientOptions, SubscribePayload } from 'graphql-ws';\n// Removed direct 'ws' import for browser compatibility; will resolve at runtime if needed.\nimport EventEmitter from 'eventemitter3';\n\n/** Events emitted by SubscriptionClient\n * connecting - before opening a socket (initial or reconnect attempt)\n * connected - first successful connection\n * reconnected - a subsequent successful connection after a disconnect\n * disconnected - socket closed ( { code, reason, wasClean } )\n * error - protocol or network error (Error)\n * retry - about to attempt reconnect ( { attempt } )\n */\nexport interface SubscriptionClientEvents {\n connecting: () => void;\n connected: () => void;\n reconnected: () => void;\n disconnected: (info: { code: number; reason: string; wasClean: boolean }) => void;\n error: (err: unknown) => void;\n retry: (info: { attempt: number }) => void;\n}\n\nexport interface SubscriptionClientOptions {\n url: string;\n /** optional async or sync connection params */\n connectionParams?: ClientOptions['connectionParams'];\n /** number of reconnect attempts, default Infinity */\n maxReconnectAttempts?: number;\n /** initial delay ms before first retry (exponential backoff) */\n retryDelayMs?: number;\n /** max backoff cap */\n maxRetryDelayMs?: number;\n /** idle timeout for operations (optional) */\n operationTimeoutMs?: number;\n /** optional custom WebSocket implementation */\n webSocketImpl?: any; // generic to avoid pulling node 'ws' types into browser bundle\n /** optional logger */\n log?: (msg: string, meta?: any) => void;\n}\n\nexport interface SubscribeOptions<TData = any, TVars = Record<string, unknown>> {\n query: string;\n variables?: TVars;\n /** optional per-subscription timeout override */\n timeoutMs?: number;\n operationName?: string;\n extensions?: Record<string, any>;\n}\n\nexport interface Observer<T> {\n next?: (data: T) => void;\n error?: (err: unknown) => void;\n complete?: () => void;\n}\n\nexport class SubscriptionClient extends EventEmitter {\n private options?: Required<Omit<SubscriptionClientOptions, 'connectionParams' | 'log' | 'webSocketImpl'>> & Pick<SubscriptionClientOptions, 'connectionParams' | 'log' | 'webSocketImpl'>;\n private client: Client | null = null;\n private connectAttempt = 0;\n private closedExplicitly = false;\n private reconnecting = false;\n private reconnectTimer: NodeJS.Timeout | null = null;\n private hasEverConnected = false;\n\n constructor() {\n super();\n }\n InitClient(opts: SubscriptionClientOptions) {\n this.options = {\n url: opts.url,\n connectionParams: opts.connectionParams,\n maxReconnectAttempts: opts.maxReconnectAttempts ?? Infinity,\n retryDelayMs: opts.retryDelayMs ?? 500,\n maxRetryDelayMs: opts.maxRetryDelayMs ?? 10_000,\n operationTimeoutMs: opts.operationTimeoutMs ?? 0,\n webSocketImpl: opts.webSocketImpl ?? undefined,\n log: opts.log,\n } as any;\n }\n\n private resolveWebSocketImpl(): any {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n // Proxy-aware priority:\n // 1. Explicit user-supplied impl\n // 2. Browser bundle: never load 'ws' — use global WebSocket\n // 3. If proxy env detected (Node) -> prefer 'ws'\n // 4. Global WebSocket (browser / Node >= 18 native)\n // 5. Fallback to require('ws') (Node)\n if (this.options.webSocketImpl) return this.options.webSocketImpl;\n\n if (process.env.BUILD_TARGET === 'browser') {\n const g: any = (globalThis as any);\n if (typeof g.WebSocket === 'function') return g.WebSocket;\n throw new Error('No WebSocket implementation found in browser. Provide webSocketImpl.');\n } else {\n const proxyEnv = process.env.ALL_PROXY || process.env.HTTPS_PROXY || process.env.HTTP_PROXY || process.env.GLOBAL_AGENT_HTTP_PROXY;\n if (proxyEnv) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require('ws');\n } catch (e) {\n this.log('Proxy detected but failed to load ws package', e);\n }\n }\n const g: any = (globalThis as any);\n if (typeof g.WebSocket === 'function') return g.WebSocket;\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require('ws');\n } catch {\n throw new Error('No WebSocket implementation found. Provide webSocketImpl in SubscriptionClientOptions.');\n }\n }\n }\n\n /** Returns true if an underlying websocket client exists (connected or in-flight). */\n isConnected(): boolean {\n return !!this.client; // createClientIfNeeded only after socket open attempt\n }\n\n private log(msg: string, meta?: any) {\n if (this.options?.log) this.options.log(msg, meta);\n }\n\n private createClientIfNeeded(isReconnect: boolean) {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n if (this.client) return; // already have client\n const { url, connectionParams } = this.options;\n const webSocketImpl = this.resolveWebSocketImpl();\n this.client = createClient({\n url,\n connectionParams,\n webSocketImpl: webSocketImpl as any,\n lazy: false,\n keepAlive: 12000,\n retryAttempts: 0,\n shouldRetry: () => false,\n on: {\n connected: () => {\n const wasReconnect = isReconnect && this.connectAttempt > 0;\n this.connectAttempt = 0;\n if (wasReconnect && this.hasEverConnected) {\n this.emit('reconnected');\n this.log('reconnected');\n } else {\n this.emit('connected');\n this.log('connected');\n }\n this.hasEverConnected = true;\n },\n error: (err) => {\n this.emit('error', err);\n this.log('socket error', err);\n },\n closed: async (ev) => {\n try {\n const e = ev as CloseEvent | { code: number; reason: string; wasClean: boolean };\n this.log('closed', e);\n this.emit('disconnected', { code: (e as any).code, reason: (e as any).reason?.toString?.() ?? '', wasClean: (e as any).wasClean ?? false });\n try {\n if (this.client) {\n await this.client.dispose();\n }\n } catch {}\n } finally {\n this.client = null; // allow recreate\n if (!this.closedExplicitly) this.scheduleReconnect();\n }\n },\n },\n });\n }\n\n // assureConnected removed per revert request\n\n /** Establish the WebSocket connection if not already created. Idempotent. */\n connect(): void {\n if (this.client) return; // already created\n this.emit('connecting');\n this.log('connecting');\n this.createClientIfNeeded(false);\n }\n\n private scheduleReconnect() {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n if (this.reconnecting) return;\n if (this.closedExplicitly) {\n this.log('Reconnect prevented: client closed explicitly');\n return;\n }\n if (this.connectAttempt >= this.options.maxReconnectAttempts) {\n this.log('max reconnect attempts reached');\n return;\n }\n this.reconnecting = true;\n const delay = Math.min(\n this.options.retryDelayMs * Math.pow(2, this.connectAttempt),\n this.options.maxRetryDelayMs,\n );\n this.emit('retry', { attempt: this.connectAttempt });\n this.log('reconnect scheduled', { attempt: this.connectAttempt, delay });\n if (this.reconnectTimer) clearTimeout(this.reconnectTimer);\n this.reconnectTimer = setTimeout(() => {\n this.reconnecting = false;\n this.connectAttempt++;\n this.emit('connecting');\n this.log('connecting');\n this.createClientIfNeeded(true);\n }, delay);\n }\n\n clientsubscribe<TData = any, TVars extends Record<string, unknown> = Record<string, unknown>>(options: SubscribeOptions<TData, TVars>, observer: Observer<{ data?: TData; errors?: any }>): () => void {\n if (!this.options) throw new Error('SubscriptionClient not initialized - call InitConnection first');\n if (!this.client) throw new Error('Client not connected - call connect() first');\n const payload: SubscribePayload = {\n query: options.query,\n variables: options.variables as any,\n operationName: options.operationName,\n extensions: options.extensions,\n };\n let finished = false;\n const timeoutMs = options.timeoutMs ?? this.options.operationTimeoutMs;\n let timeout: NodeJS.Timeout | undefined;\n if (timeoutMs > 0) {\n timeout = setTimeout(() => {\n if (finished) return;\n finished = true;\n observer.error?.(new Error('Operation timed out'));\n dispose();\n }, timeoutMs);\n }\n const dispose = this.client.subscribe(payload, {\n next: (data) => observer.next?.(data as any),\n error: (err) => {\n if (finished) return;\n finished = true;\n if (timeout) clearTimeout(timeout);\n observer.error?.(err);\n },\n complete: () => {\n if (finished) return;\n finished = true;\n if (timeout) clearTimeout(timeout);\n observer.complete?.();\n },\n });\n return () => {\n if (finished) return;\n finished = true;\n if (timeout) clearTimeout(timeout);\n dispose();\n };\n }\n\n /** Async iterator variant (convenience wrapper around underlying client.iterate). */\n clientiterate<TData = any, TVars extends Record<string, unknown> = Record<string, unknown>>(options: SubscribeOptions<TData, TVars>): AsyncIterable<{ data?: TData; errors?: any }> {\n if (!this.client) throw new Error('Client not connected - call connect() first');\n const payload: SubscribePayload = {\n query: options.query,\n variables: options.variables as any,\n operationName: options.operationName,\n extensions: options.extensions,\n };\n // graphql-ws client.iterate returns AsyncIterableExecutionResult\n // We forward it directly (user can for-await over it).\n return (this.client as any).iterate(payload);\n }\n\n async close(code = 1000, reason = 'Normal Closure') {\n this.closedExplicitly = true;\n this.log('closing client');\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n const c = this.client as any;\n if (c) { try { c.dispose(); } catch { } }\n this.client = null;\n this.removeAllListeners();\n }\n}\n\nexport default SubscriptionClient;\n","export const commonFields = 'id:idStr version createdDateTime'\nexport const commonReferenceFields = 'groupId groupName groupPath labels canAnonymize tokenCount'\nexport const lastLogFields = 'id eventCode stamp serviceDataId userId comment'\nexport const serviceDataCommonFields = `id createdDateTime servicePlanId userId lastServiceDate lastLog {${lastLogFields}}`\nexport const mCommonFields = 'type total deleteId deleteVersion'\nexport const mServiceCommonFields = `name description createdDate createdBy ${commonFields}`\n","import { mCommonFields, commonFields, commonReferenceFields, serviceDataCommonFields } from '../fragments'\n\nexport const references = `\n subscription References($version:Int!) {\n mreference_getbulk(version: $version, subscribe:true)\n {\n ${mCommonFields}\n data {\n __typename\n ... on QMUser {\n ${commonFields}\n ${commonReferenceFields}\n mobilePhoneNumber\n mobileCountryCode\n firstName\n middleName\n lastName\n fullName\n email\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n },\n isAzureADUser\n authProvider\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMAsset { \n ${commonFields}\n ${commonReferenceFields}\n brand \n model \n keyWords\n description\n serial \n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n ... on QMVehicle {\n ${commonFields}\n ${commonReferenceFields}\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n registration\n registrationStatus\n vin\n brand\n brandId\n model\n modelId\n serial\n modelYear\n keyWords\n description\n variant\n variantId\n vVersion\n vVersionId\n bodyType\n usage\n extended {\n category\n ecTypeApproval\n euVariant\n euVersion\n extraEquipment\n firstRegistrationDate\n fuelType\n kind\n lastInspectionDate\n lastInspectionKind\n lastInspectionResult\n leasingPeriodEnd\n leasingPeriodStart\n mileage\n mileageAnnualAverage\n ncapFive\n registrationStatusUpdatedAt\n status\n statusUpdatedAt\n weight {\n technicalTotalWeight\n totalWeight\n vehicleWeight\n driveableWeightMinimum\n driveableWeightMaximum\n vValueAirSuspension\n vValueMechanicalSuspension\n roadTrainWeight\n couplingDevice\n couplingDeviceLoadMaximum\n trailerWithBrakesWeightMaximum\n trailerWithoutBrakesWeightMaximum\n trailerTotalWeightMaximum\n division\n }\n age {\n years\n months\n }\n axle {\n axles\n axleTrack\n pullingAxlesString\n driveShaftPressureMaximum\n trailerAllowedPressureMaximum\n }\n body {\n doors\n vinPlacement\n trackWidthFront\n trackWidthRear\n passengers\n seatsMinimum\n seatsMaximum\n standingPassengersMinimum\n standingPassengersMaximum\n rimsAndTires\n color\n }\n periodicTaxes {\n taxes {\n name\n amount\n paymentFrequency\n }\n totalAmount\n paymentFrequency\n }\n leasingPeriods {\n leasingPeriodStart\n leasingPeriodEnd\n }\n permits {\n id\n name\n comment\n validFrom\n validTo\n }\n manufacturer {\n name\n region\n country\n }\n drivingLicense {\n category\n }\n emission {\n co2\n co\n hcPlusNox\n nox\n particles\n particleFilter\n smokeDensity\n smokeDensityEngineSpeed\n energyClass\n euronorm\n }\n engine {\n fuelEfficiency\n electricityEfficiency\n topSpeed\n fuelType\n cylinders\n engineCode\n engineDisplacement\n enginePower\n horsepower\n powerToWeightRatio\n }\n equipment {\n id\n name\n quantity\n }\n inspections {\n id\n vehicleId\n registration\n vin\n date\n result\n mileage\n pdf\n }\n }\n }\n ... on QMSite { \n ${commonFields}\n ${commonReferenceFields}\n name\n type\n geoArea {\n longitude\n latitude\n }\n documents {\n id name url createdDate mimeType fileName\n }\n serviceData {\n __typename\n ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }\n ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }\n ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }\n ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }\n ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }\n }\n externalKeys\n externalIds { key value }\n externalBag\n deleted\n }\n } \n }\n}`\n","import { mCommonFields, commonFields } from '../fragments'\n\nexport const trackers = `\n subscription Trackers($version:Int!) {\n mtrackers_getbulk(version: $version, subscribe:true)\n {\n ${mCommonFields}\n data \n {\n ${commonFields}\n objId: id\n vID\n pID\n key\n type\n model\n revision\n trackerName\n referenceId\n deleted\n }\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const groups = `\n subscription Groups($version:Int!)\n {\n mcommon_getgroups(version: $version, subscribe: true)\n { \n ${mCommonFields}\n data {\n id:idStr \n version\n parentId\n name\n level \n type\n }\n }\n }`\n","import { mCommonFields, mServiceCommonFields } from '../fragments'\n\nexport const servicePlans = `\n subscription Service($version: Int!)\n {\n mservice_get(version: $version, subscribe: true)\n {\n ${mCommonFields}\n data {\n __typename\n ... on QMServicePlanOneshot \n { \n ${mServiceCommonFields}\n dueSlackInDays\n deleted\n }\n ... on QMServicePlanPeriodic {\n ${mServiceCommonFields}\n dueSlackInDays\n period\n intervalType\n deleted\n }\n ... on QMServicePlanWarranty { \n ${mServiceCommonFields}\n dueSlackInDays\n warrantyInMonths\n deleted\n }\n ... on QMServicePlanKM {\n ${mServiceCommonFields}\n dueSlackKM : dueSlack\n intervalKM : interval\n deleted\n }\n ... on QMServicePlanWorkSeconds {\n ${mServiceCommonFields}\n dueSlackSeconds : dueSlack\n intervalSeconds : interval\n deleted\n }\n }\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const trackerLinks = `\n subscription BLELinks($opVersion: String)\n {\n otrackers_getlinksbulk(opversion: $opVersion, subscribe: true, subscriberssiupdates: true)\n {\n ${mCommonFields}\n data {\n id\n createdDateTime: creationTime\n receiverVID\n rSSI\n transmitterVID\n opVersion\n deleted\n disabled\n }\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const referenceLinks = `\n subscription ReferenceLink($version: Int!, $opVersion: String)\n {\n oreference_getlinks(version: $version, opversion: $opVersion, subscribe: true)\n {\n ${mCommonFields}\n data {\n id\n type\n createdDateTime: creationTime\n referenceId1\n referenceId2\n autoGenerated\n version,\n opVersion,\n deleted\n }\n }\n }`\n","export const lostTransmitters = `\n subscription lostTransmitters($opVersion: String) {\n otrackers_losttransmitters(\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n id:transmitterVID\n opVersion\n transmitterReferenceGroupId\n transmitterReferenceType\n transmitterReferenceGroupPath\n lostBy {\n transmitterVID\n receiverVID\n startTime\n endTime\n locationInfo {\n date\n speed\n bearing\n accuracy\n altitude\n longitude\n latitude\n }\n receiverTrackerType\n } \n }\n deleteVersion\n }\n }\n `\n","import { mCommonFields } from '../fragments'\n\nexport const reports = `\n subscription Reports($version: Int!) {\n mreports_getreport(version: $version, subscribe: true)\n {\n ${mCommonFields}\n data {\n id\n name\n description\n route\n version\n }\n }\n }\n `\n","import { mCommonFields } from '../fragments'\n\nexport const jobs = `subscription jobs($version: Int!) { \n mjob_get(version:$version, subscribe: true) {\n ${mCommonFields}\n data {\n id\n createdDateTime\n name\n description\n version\n disabled\n deleted\n trigger {\n __typename\n ... on QMJobTriggerAssetFound {\n assetId\n }\n ... on QMJobTriggerOneshot {\n when\n }\n ... on QMJobTriggerScheduleTimeOfDay {\n startTime\n period\n lastRun\n interval\n }\n ... on QMJobTriggerMonitor\n {\n initialCount\n initialCheck\n url\n }\n ... on QMJobTriggerReferenceLost\n {\n referenceId\n trackerVID\n }\n }\n action {\n __typename\n ... on QMJobActionAssetFoundMail {\n actionType\n assetId\n references\n groups\n }\n ... on QMJobActionReport {\n actionType\n reports {\n reportId\n args {name value }\n }\n groups\n references\n dontSendEmptyReport\n }\n ... on QMJobActionSMS {\n actionType\n userId\n }\n } \n } \n } \n }`\n","import { mCommonFields } from '../fragments'\n\nexport const cycles = `subscription cycles($version: Int!) {\n mcycle_getcycles(version: $version, subscribe: true) {\n ${mCommonFields}\n data {\n id\n name\n isActive\n labelFilter\n startStepId\n stopStepId\n cancelStepId\n deleted\n version\n steps {\n stepId\n name\n estimateDurationInSeconds\n displayOrder\n onlyOnce\n enterRules {\n __typename\n ... on QMFlowRuleOnExitSteps {\n ruleId\n exitStepIds\n }\n ... on QMTrackingEnterRuleReferenceLink {\n ruleId\n referenceIds\n gracePeriodInSeconds\n whenActive\n }\n ... on QMEnterRuleOnReferenceCreate {\n ruleId \n }\n ... on QMFlowForeignEnterRuleOnEnter {\n foreignCycleRelations{\n foreignCycleId\n foreignStepId\n }\n ruleId \n }\n ... on QMTrackingEnterRuleNearestReferenceLink {\n referenceIds\n ruleId \n gracePeriodInSeconds\n }\n } \n exitRules {\n __typename\n ... on QMFlowRuleOnEnterSteps {\n ruleId\n enterStepIds\n }\n ... on QMTrackingExitRuleReferenceLink {\n ruleId\n referenceIds\n gracePeriodInSeconds\n whenActive\n }\n ... on QMFlowForeignExitRuleOnEnter {\n foreignCycleRelations {\n foreignCycleId\n foreignStepId\n }\n ruleId\n }\n ... on QMTrackingExitRuleNearestReferenceLink {\n referenceIds\n ruleId\n gracePeriodInSeconds\n }\n }\n } \n }\n }\n }`\n","export const meshDiagnostics = `\n subscription meshdiagnostics($opVersion: String) {\n otrackers_meshdiagnostics( \n opversion: $opVersion,\n subscribe: true\n ) {\n type\n total\n deleteId\n data {\n id: vID\n vID\n stamp\n opVersion\n advertiserCost\n errorCodes\n nextHopAddress\n nextHopVID\n nextHopPower\n nextHopQuality\n nextHopRSSI\n qualityIndicator\n routersInNeighborhood\n sinkAddress\n sinkVID\n }\n deleteVersion\n }\n }\n `\n","export const gps = `\n subscription getpositionbulk($opVersion: String) {\n otrackers_getpositionsbulk(\n includeInitial: true\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n opVersion\n referenceGroupId\n referenceType\n referenceGroupPath\n stamp\n locationInfo {\n date\n speed\n bearing\n accuracy\n altitude\n longitude\n latitude\n } \n isFixed\n id:trackerVID\n }\n deleteVersion\n }\n } \n `\n","export const linkconnected = `subscription linkconnected($opVersion: String) {\n otrackers_linkconnectedbulk(subscribe: true, includeInitial: true, opVersion: $opVersion) {\n type\n total\n deleteId\n data{\n id: vID\n opVersion\n when\n }\n deleteVersion\n }\n}`\n","export const connected = `subscription connected($opVersion: String) {\n otrackers_connectedbulk(subscribe: true, includeInitial: true, opVersion: $opVersion) {\n type\n total\n deleteId\n data{\n id: vID\n opVersion\n when\n }\n deleteVersion\n }\n}`\n","export const voltage = `subscription voltage($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[EXTERNAL_VOLTAGE], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data { \n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n}`\n","export const internalvoltage = `subscription internalvoltage($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[INTERNAL_VOLTAGE, BATTERY_LEVEL], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n}`\n","export const unplug = `subscription unplug($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[UNPLUG], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n }`\n","export const temperature = `subscription temperature($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[TEMPERATURE], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n }`\n","export const meshscanner = `subscription temperature($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[MESH_GATE_ON], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n }`\n","export const meshdisconnectslasthour = `subscription disconnects($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[DISCONNECTED_IN_THE_LAST_HOUR], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n }`\n","export const activecounter = `subscription activecounter($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[ACTIVE_COUNTER], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n }\n}`\n","export const workseconds = `subscription workseconds($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[WORK_SECONDS], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n}\n}`\n","export const calculatedodometer = `subscription calculatedodometer($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[CALCULATED_ODOMETER], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n}\n}`\n","export const batterypercent = `subscription batterypercent($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[BATTERY_PERCENT], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n value\n stamp\n }\n}\n}`\n","export const workignition = `subscription workignition($opVersion: String) {\n otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[WORK_IGNITION], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n }\n}`\n","export const tripignition = `subscription tripignition($opVersion: String) {\notrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[TRIP_IGNITION], opVersion: $opVersion) {\n type\n total\n deleteId\n deleteVersion\n data {\n id: vID\n opVersion\n field\n value\n stamp\n }\n}\n}`\n","export const activecycles = `subscription activecycles($opVersion: String){\n ocycle_activecycles(\n includeInitial: true\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n id\n cycleId\n startedAt\n finishedAt\n status\n referenceId\n opVersion\n }\n deleteVersion\n }\n}`\n","export const activesteps = `subscription activesteps($opVersion: String) {\n ocycle_activesteps(\n includeInitial: true\n subscribe: true\n opversion: $opVersion\n ) {\n type\n total\n deleteId\n data {\n id\n stepId\n name\n estimateDurationInSeconds\n displayOrder\n cycleStateId\n enterStamp\n exitStamp\n timeSpentInSeconds\n opVersion\n }\n deleteVersion\n },\n}\n`\n","export const referenceGeoLinks = `subscription referenceGeoLinks($opversion: String){\n oreference_getreferencegeolinksBulk(\n opversion: $opversion\n subscribe: true\n ) {\n type\n total\n deleteId\n data {\n id\n creationTime\n siteId\n referenceId\n opVersion\n deleted\n }\n deleteVersion\n }\n }`\n","export const trips = `subscription trips($opVersion: String) {\n otrip_trips(opversion: $opVersion, subscribe: true) {\n type\n total\n deleteId\n data {\n id: vID\n vID\n start\n stop\n routeDistanceInMeters\n opVersion\n referenceGroupId\n referenceType\n referenceGroupPath\n startPoint: startWayPoint {\n date\n speed\n longitude\n latitude\n } \n endPoint: endWayPoint {\n date\n speed\n longitude\n latitude\n } \n wayPoints: waypoints {\n date\n latitude\n longitude\n speed\n } \n }\n deleteVersion\n }\n }`\n","import { mCommonFields } from '../fragments'\n\nexport const messages = `\n subscription Messages($version:Int!) {\n message_getweb(version: $version) {\n ${mCommonFields}\n data {\n id\n multiId\n version\n createdAt\n from { id fullName mobilePhoneNumber mobileCountryCode email language }\n to { id fullName mobilePhoneNumber mobileCountryCode email language }\n title\n content\n shortContent\n attachmentUrl\n type\n status\n transportTypes\n emailStatus { success errorMessage }\n smsStatus { success errorMessage }\n additionalInfo\n emailTemplate\n deleted\n }\n }\n }\n `\n","export const systemSettings = `subscription systemsetting($version: Int!) {\n mcommon_systemsettings(version: $version, subscribe: true) {\n type\n total\n deleteId\n data {\n version\n id: groupName\n settings {\n id\n name\n level\n parent\n valueOrigin\n value {\n isVisible\n hasChildren\n settingValue\n type\n }\n inputHtml\n } \n }\n deleteVersion\n }\n }`\n","export const settings = `\n subscription settings($version: Int!){\n mcommon_settings(version: $version, subscribe: true) {\n type\n total\n deleteId\n data {\n id: groupId\n version\n groupName\n settings {\n id\n name\n level\n parent\n valueOrigin\n value {\n isVisible\n hasChildren\n settingValue\n type\n }\n inputHtml\n } \n }\n deleteVersion\n }\n }`\n","export const TempSubscriptions = {}\n","import * as subs from './subscriptions'\nimport * as req from './requiredMirrors/index'\nimport * as temp from './tempSubscriptions/index'\n\nexport const Subscriptions = {\n references: subs.references,\n trackers: subs.trackers,\n groups: subs.groups,\n servicePlans: subs.servicePlans,\n trackerLinks: subs.trackerLinks,\n referenceLinks: subs.referenceLinks,\n lostTransmitters: subs.lostTransmitters,\n reports: subs.reports,\n jobs: subs.jobs,\n cycles: subs.cycles,\n meshDiagnostics: subs.meshDiagnostics,\n gps: subs.gps,\n linkconnected: subs.linkconnected,\n connected: subs.connected,\n voltage: subs.voltage,\n internalvoltage: subs.internalvoltage,\n unplug: subs.unplug,\n temperature: subs.temperature,\n meshscanner: subs.meshscanner,\n meshdisconnectslasthour: subs.meshdisconnectslasthour,\n activecounter: subs.activecounter,\n workseconds: subs.workseconds,\n calculatedodometer: subs.calculatedodometer,\n batterypercent: subs.batterypercent,\n workignition: subs.workignition,\n tripignition: subs.tripignition,\n activecycles: subs.activecycles,\n activesteps: subs.activesteps,\n referenceGeoLinks: subs.referenceGeoLinks,\n trips: subs.trips,\n messages: subs.messages\n}\n\nexport const RequiredMirrors = {\n systemSettings: req.systemSettings,\n settings: req.settings\n}\n\nexport const TempSubscriptions = temp.TempSubscriptions\n"],"mappings":"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","names":["TempSubscriptions","EventEmitter","connected","import_eventemitter3","EventEmitter","e","_a","TempSubscriptions"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanolink/mirrors",
3
- "version": "1.0.41",
3
+ "version": "1.0.43",
4
4
  "description": "GraphQL subscription client + mirror synchronization utilities.",
5
5
  "license": "MIT",
6
6
  "author": "Nanolink ApS, Mogens Bak Nielsen",