@golemio/pid 5.19.1-dev.2809129013 → 5.19.1-dev.2815853394

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js +10 -4
  2. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -1
  3. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.d.ts +29 -0
  4. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.js +69 -0
  5. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.js.map +1 -1
  6. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +9 -9
  7. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  8. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.d.ts +21 -1
  9. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js +31 -0
  10. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -1
  11. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +9 -9
  12. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
  13. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.js +4 -1
  14. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.js.map +1 -1
  15. package/docs/processing/state_position_tracking/tcp_dpp_common.md +6 -0
  16. package/docs/processing/trip_context/index.md +104 -40
  17. package/package.json +1 -1
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const DateTimeUtils_1 = require("../../../../../../helpers/DateTimeUtils");
7
7
  const const_1 = require("../../../../../../const");
8
+ const VPUtils_1 = require("../../helpers/VPUtils");
8
9
  const TripsIdGenerator_1 = __importDefault(require("./TripsIdGenerator"));
9
10
  class PositionsMapper {
10
11
  static mapCommonRunToDto(runMessage, isCurrent, gtfsTrip, runInput) {
@@ -23,7 +24,7 @@ class PositionsMapper {
23
24
  scheduled_timestamp: scheduledTimestamp,
24
25
  state_position: const_1.StatePositionEnum.UNKNOWN,
25
26
  state_process: const_1.StateProcessEnum.TCP_INPUT,
26
- is_tracked: isCurrent && !isTerminated,
27
+ is_tracked: isCurrent && !isTerminated && VPUtils_1.VPUtils.hasValidCoordinates(runMessage.lat, runMessage.lng),
27
28
  trips_id: TripsIdGenerator_1.default.generateFromCommonRun(gtfsTrip, runInput),
28
29
  tcp_event: runMessage.events,
29
30
  };
@@ -37,7 +38,7 @@ class PositionsMapper {
37
38
  origin_timestamp: new Date(runMessage.actual_stop_timestamp_real),
38
39
  state_position: const_1.StatePositionEnum.NOT_PUBLIC,
39
40
  state_process: const_1.StateProcessEnum.PROCESSED,
40
- is_tracked: true,
41
+ is_tracked: VPUtils_1.VPUtils.hasValidCoordinates(runMessage.lat, runMessage.lng),
41
42
  trips_id: tripId,
42
43
  tcp_event: runMessage.events,
43
44
  };
@@ -46,7 +47,9 @@ class PositionsMapper {
46
47
  const scheduledTimestamp = new Date(runInput.timestampScheduled);
47
48
  const isTerminated = scheduledTimestamp >= new Date(gtfsTrip.end_timestamp);
48
49
  const beforeTrack = scheduledTimestamp < new Date(gtfsTrip.start_timestamp);
49
- const is_tracked = beforeTrack ? false : isCurrent && !isTerminated;
50
+ const is_tracked = beforeTrack
51
+ ? false
52
+ : isCurrent && !isTerminated && VPUtils_1.VPUtils.hasValidCoordinates(runInput.coordinates.lat, runInput.coordinates.lon);
50
53
  return {
51
54
  lat: runInput.coordinates.lat,
52
55
  lng: runInput.coordinates.lon,
@@ -62,7 +65,10 @@ class PositionsMapper {
62
65
  }
63
66
  static mapRegionalBusRunToDto(isCurrent, gtfsTrip, runMessage) {
64
67
  const isBeforeTrack = new Date() < new Date(gtfsTrip.start_timestamp);
65
- const isTracked = isCurrent && !isBeforeTrack && !runMessage.is_terminated;
68
+ const isTracked = isCurrent &&
69
+ !isBeforeTrack &&
70
+ !runMessage.is_terminated &&
71
+ VPUtils_1.VPUtils.hasValidCoordinates(runMessage.coordinates.coordinates[1], runMessage.coordinates.coordinates[0]);
66
72
  return {
67
73
  trips_id: TripsIdGenerator_1.default.generateFromRegionalBusRun(gtfsTrip, runMessage),
68
74
  bearing: runMessage.bearing,
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,18 @@ import { IComputationTrip, ICurrentPositionProperties, IPositionToUpdate, IProce
8
8
  import { PositionHandlerEnum } from "./PositionHandlerEnum";
9
9
  import { ValidToCalculator } from "./ValidToCalculator";
10
10
  import { IStopTime } from "../../../../ropid-gtfs/interfaces/TripModelInterfaces";
11
+ import { ILogger } from "@golemio/core/dist/helpers";
12
+ /**
13
+ * `fallback` non-null means give up and use it as-is; otherwise `currentPosition` is ready for
14
+ * getEstimatedPoint.
15
+ */
16
+ type IResolvedTrackingPosition = {
17
+ fallback: null;
18
+ currentPosition: Feature<Point, ICurrentPositionProperties>;
19
+ usedStopCoordinatesFallback: boolean;
20
+ } | {
21
+ fallback: IPositionToUpdate;
22
+ };
11
23
  export declare abstract class BasePositionsManager {
12
24
  protected readonly useEndTimestamp: boolean;
13
25
  protected readonly allowCancelState: boolean;
@@ -87,4 +99,21 @@ export declare abstract class BasePositionsManager {
87
99
  protected isFreshNewVehicleInSystem(context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes, endTimestamp: Date | null): boolean;
88
100
  protected setLastPositionTracking(position: IVPTripsPositionAttributes, context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null): void;
89
101
  protected detectDuplicatePosition(position: IVPTripsPositionAttributes, lastPositionOriginTimestamp: number | null, positionsSource: IVPTripsPositionAttributes[]): StatePositionEnum.AFTER_TRACK | StatePositionEnum.DUPLICATE;
102
+ /**
103
+ * Invalid GPS would otherwise crash turf.point() downstream, so a known stop's coordinates are
104
+ * substituted when possible; when no stop match exists either, caller must use the returned
105
+ * `fallback` as-is instead of proceeding into getEstimatedPoint.
106
+ */
107
+ protected resolveTrackingPosition(position: IVPTripsPositionAttributes, tripGtfsData: IComputationTrip, context: IVPTripsLastPositionContext, logger: ILogger): IResolvedTrackingPosition;
108
+ /**
109
+ * getEstimatedPoint/getClosestPoint never populate lat/lng - without this, downstream context
110
+ * merging would fall through to the still-invalid raw position.lat/lng.
111
+ */
112
+ protected backfillStopCoordinatesFallback(positionToUpdate: IPositionToUpdate, currentPosition: Feature<Point, ICurrentPositionProperties>): void;
113
+ /**
114
+ * GPS loss != schedule position loss, so state/stop info carries forward instead of resetting.
115
+ * state_process is always PROCESSED - otherwise the row gets endlessly re-fetched and re-crashed.
116
+ */
117
+ protected buildInvalidCoordinatesFallback(position: IVPTripsPositionAttributes, context: IVPTripsLastPositionContext, logger: ILogger): IPositionToUpdate;
90
118
  }
119
+ export {};
@@ -38,8 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.BasePositionsManager = void 0;
40
40
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
41
+ const turf = __importStar(require("@turf/turf"));
41
42
  const const_1 = require("../../../../../const");
42
43
  const PositionHandlerEnum_1 = require("./PositionHandlerEnum");
44
+ const VPUtils_1 = require("./VPUtils");
43
45
  const AnchorPointSegmenter_1 = require("./anchor-points/AnchorPointSegmenter");
44
46
  const DateTimeUtils_1 = require("../../../../../helpers/DateTimeUtils");
45
47
  const TripContextHelper = __importStar(require("./trip-context/TripContextHelper"));
@@ -266,6 +268,73 @@ class BasePositionsManager {
266
268
  ? const_1.StatePositionEnum.DUPLICATE
267
269
  : const_1.StatePositionEnum.AFTER_TRACK;
268
270
  }
271
+ /**
272
+ * Invalid GPS would otherwise crash turf.point() downstream, so a known stop's coordinates are
273
+ * substituted when possible; when no stop match exists either, caller must use the returned
274
+ * `fallback` as-is instead of proceeding into getEstimatedPoint.
275
+ */
276
+ resolveTrackingPosition(position, tripGtfsData, context, logger) {
277
+ let positionLat = position.lat;
278
+ let positionLng = position.lng;
279
+ let usedStopCoordinatesFallback = false;
280
+ if (!VPUtils_1.VPUtils.hasValidCoordinates(positionLat, positionLng)) {
281
+ const fallbackStopCoordinates = VPUtils_1.VPUtils.findStopCoordinatesForFallback(position, tripGtfsData);
282
+ if (!fallbackStopCoordinates ||
283
+ !VPUtils_1.VPUtils.hasValidCoordinates(fallbackStopCoordinates.lat, fallbackStopCoordinates.lng)) {
284
+ return { fallback: this.buildInvalidCoordinatesFallback(position, context, logger) };
285
+ }
286
+ positionLat = fallbackStopCoordinates.lat;
287
+ positionLng = fallbackStopCoordinates.lng;
288
+ usedStopCoordinatesFallback = true;
289
+ }
290
+ const currentPosition = turf.point([positionLng, positionLat], {
291
+ id: position.id,
292
+ origin_time: position.origin_time,
293
+ origin_timestamp: position.origin_timestamp,
294
+ scheduled_timestamp: position.scheduled_timestamp,
295
+ this_stop_id: position.this_stop_id,
296
+ tcp_event: position.tcp_event,
297
+ });
298
+ return { currentPosition, usedStopCoordinatesFallback, fallback: null };
299
+ }
300
+ /**
301
+ * getEstimatedPoint/getClosestPoint never populate lat/lng - without this, downstream context
302
+ * merging would fall through to the still-invalid raw position.lat/lng.
303
+ */
304
+ backfillStopCoordinatesFallback(positionToUpdate, currentPosition) {
305
+ const [lng, lat] = currentPosition.geometry.coordinates;
306
+ positionToUpdate.lat ??= lat;
307
+ positionToUpdate.lng ??= lng;
308
+ }
309
+ /**
310
+ * GPS loss != schedule position loss, so state/stop info carries forward instead of resetting.
311
+ * state_process is always PROCESSED - otherwise the row gets endlessly re-fetched and re-crashed.
312
+ */
313
+ buildInvalidCoordinatesFallback(position, context, logger) {
314
+ logger.warn({
315
+ positionId: position.id,
316
+ lat: position.lat,
317
+ lng: position.lng,
318
+ }, `${this.constructor.name}: Invalid coordinates for tracked position, falling back to untracked/last-known coordinates`);
319
+ const lastTracking = context.lastPositionTracking?.properties;
320
+ // stale context would freeze stop progress at the point GPS died - the current row can be newer
321
+ const stopSequence = position.this_stop_sequence ?? position.last_stop_sequence ?? lastTracking?.last_stop_sequence;
322
+ const stopId = position.this_stop_id ?? position.last_stop_id ?? lastTracking?.last_stop_id;
323
+ const hasValidPositionCoordinates = VPUtils_1.VPUtils.hasValidCoordinates(position.lat, position.lng);
324
+ return {
325
+ id: position.id,
326
+ lat: (hasValidPositionCoordinates ? position.lat : context.lastPositionLat) ?? 0,
327
+ lng: (hasValidPositionCoordinates ? position.lng : context.lastPositionLng) ?? 0,
328
+ state_position: context.lastPositionState ?? const_1.StatePositionEnum.UNKNOWN,
329
+ state_process: const_1.StateProcessEnum.PROCESSED,
330
+ is_tracked: false,
331
+ ...(stopSequence != null && {
332
+ last_stop_id: stopId,
333
+ last_stop_sequence: stopSequence,
334
+ shape_dist_traveled: lastTracking?.shape_dist_traveled,
335
+ }),
336
+ };
337
+ }
269
338
  }
270
339
  exports.BasePositionsManager = BasePositionsManager;
271
340
  BasePositionsManager.sortByOriginTimestamp = (a, b) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BasePositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasePositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,6 @@ exports.PositionsManager = void 0;
53
53
  const DateTimeUtils_1 = require("../../../../../helpers/DateTimeUtils");
54
54
  const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
55
55
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
56
- const turf = __importStar(require("@turf/turf"));
57
56
  const const_1 = require("../../../../../const");
58
57
  const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
59
58
  const NotPublicVehiclesDataInterface_1 = require("../../../../../schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface");
@@ -89,15 +88,16 @@ let PositionsManager = PositionsManager_1 = class PositionsManager extends BaseP
89
88
  try {
90
89
  switch (this.setPositionUpdateHandler(position)) {
91
90
  case PositionHandlerEnum_1.PositionHandlerEnum.TRACKING: {
92
- const currentPosition = turf.point([position.lng, position.lat], {
93
- id: position.id,
94
- origin_time: position.origin_time,
95
- origin_timestamp: position.origin_timestamp,
96
- scheduled_timestamp: position.scheduled_timestamp,
97
- this_stop_id: position.this_stop_id,
98
- tcp_event: position.tcp_event,
99
- });
91
+ const resolved = this.resolveTrackingPosition(position, tripPositions.gtfsData, context, this.logger);
92
+ if (resolved.fallback != null) {
93
+ positionToUpdate = resolved.fallback;
94
+ break;
95
+ }
96
+ const { currentPosition, usedStopCoordinatesFallback } = resolved;
100
97
  positionToUpdate = this.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp, tripPositions.gtfs_route_type);
98
+ if (usedStopCoordinatesFallback) {
99
+ this.backfillStopCoordinatesFallback(positionToUpdate, currentPosition);
100
+ }
101
101
  if (positionToUpdate.state_position !== const_1.StatePositionEnum.MISMATCHED) {
102
102
  positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
103
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAuD;AACvD,oEAA8E;AAI9E,iEAAwE;AAExE,gDAAoG;AACpG,0EAA+D;AAC/D,wJAA2G;AAU3G,iEAA8D;AAC9D,0DAAkC;AAClC,+DAA4D;AAC5D,2DAAwD;AACxD,gGAAwE;AAExE,sGAAwF;AACxF,oFAAsE;AACtE,wEAAqE;AAI9D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,2CAAoB;IAItD,YAC8B,MAAuB,EACL,iBAA8C;QAE1F,KAAK,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QAHvB,WAAM,GAAN,MAAM,CAAS;QACK,sBAAiB,GAAjB,iBAAiB,CAAmB;QAK9F;;;;;;WAMG;QACI,oBAAe,GAAG,CACrB,OAAwC,EACxC,QAAoC,EACjB,EAAE;YACrB,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAC/G,OAAO,CAAC;YAEZ,IAAI,sBAAsB,GAAG,KAAK,CAAC;YACnC,IAAI,yBAAyB,GAAG,KAAK,CAAC;YAEtC,MAAM,eAAe,GAAiC,aAAa,CAAC,SAAS,CAAC;YAE9E,eAAe,CAAC,IAAI,CAAC,kBAAgB,CAAC,qBAAqB,CAAC,CAAC;YAE7D,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,gBAAgB,GAA6B,IAAI,CAAC;gBAEtD,aAAa;gBACb,IAAI,CAAC;oBACD,QAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9C,KAAK,yCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;4BACtG,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gCAC5B,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;gCACrC,MAAM;4BACV,CAAC;4BACD,MAAM,EAAE,eAAe,EAAE,2BAA2B,EAAE,GAAG,QAAQ,CAAC;4BAElE,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,aAAa,CAAC,eAAe,CAChC,CAAC;4BAEF,IAAI,2BAA2B,EAAE,CAAC;gCAC9B,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;4BAC5E,CAAC;4BAED,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,UAAU,EAAE,CAAC;gCACnE,gBAAgB,GAAG,4BAAkB,CAAC,sBAAsB,CACxD,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;4BACN,CAAC;4BAED,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC;4BACxE,MAAM;wBACV,CAAC;wBACD,KAAK,yCAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;4BACpC,uFAAuF;4BACvF,MAAM,sBAAsB,GAAsB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;4BAEjG,MAAM,cAAc,GAAG,kBAAQ,CAAC,WAAW,CACvC,aAAa,CAAC,qBAAqB,EACnC,QAAQ,CAAC,gBAAgB,EACzB,cAAc,EACd,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC5B,sBAAsB,CAAC,WAAW,EAClC,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,OAAO,CAAC,oBAAoB,EAC5B,QAAQ,CAAC,UAAU,CACtB,CAAC;4BAEF,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;gCAClE,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gCAC3D,8DAA8D;gCAC9D,MAAM,mBAAmB,GAAG,OAAO,CAAC,8BAA8B,CAAC;gCACnE,kFAAkF;gCAClF,MAAM,cAAc,GAAY,CAAC,mBAAmB,IAAI,cAAc,CAAC;gCAEvE,gBAAgB,GAAG,IAAI,CAAC,kCAAkC,CACtD,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,mBAAmB,CACtB,CAAC;4BACN,CAAC;iCAAM,CAAC;gCACJ,6FAA6F;gCAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAC9C,QAAQ,EACR,OAAO,CAAC,2BAA2B,EACnC,eAAe,CAClB,CAAC;gCACF,MAAM,qBAAqB,GACvB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CACvC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CACzD,CAAC;gCACN,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCACrG,wDAAwD;gCACxD,MAAM,cAAc,GAAY,cAAc,IAAI,aAAa,KAAK,yBAAiB,CAAC,WAAW,CAAC;gCAClG,MAAM,kCAAkC,GAAG,6BAAa,CAAC,0BAA0B,CAC/E,qBAAqB,CAAC,sBAAsB,EAC5C,iBAAiB,CACpB,CAAC;gCACF,gBAAgB,GAAG;oCACf,EAAE,EAAE,QAAQ,CAAC,EAAE;oCACf,sBAAsB,EAAE,kCAAkC;oCAC1D,wBAAwB,EAAE,kCAAkC;oCAC5D,YAAY,EAAE,YAAY,CAAC,OAAO;oCAClC,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB;oCAC5D,mBAAmB,EAAE,qBAAqB,CAAC,mBAAmB;oCAC9D,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,yBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;oCAC5E,aAAa,EAAE,wBAAgB,CAAC,SAAS;oCACzC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;oCAC7B,GAAG,CAAC,YAAY,CAAC,aAAa,IAAI;wCAC9B,kBAAkB,EAAE,YAAY,CAAC,aAAa;qCACjD,CAAC;iCACL,CAAC;gCAEF,0EAA0E;gCAC1E,qDAAqD;gCACrD,IACI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,WAAW;oCACjE,yBAAyB,CAAC,yBAAyB,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAC7F,CAAC;oCACC,gBAAgB,CAAC,cAAc,GAAG,yBAAiB,CAAC,mBAAmB,CAAC;gCAC5E,CAAC;gCAED,gBAAgB,GAAG,4BAAkB,CAAC,sBAAsB,CACxD,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;gCAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,mBAAmB,EAAE,CAAC;oCAC5E,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,kBAAkB,IAAI,IAAI,CAAC;gCACzE,CAAC;4BACL,CAAC;4BACD,MAAM;wBACV,CAAC;wBACD,KAAK,yCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAChC,gBAAgB,GAAG;gCACf,EAAE,EAAE,QAAQ,CAAC,EAAE;gCACf,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI;gCACpD,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI;gCACpD,cAAc,EAAE,yBAAiB,CAAC,QAAQ;gCAC1C,aAAa,EAAE,wBAAgB,CAAC,SAAS;6BAC5C,CAAC;4BACF,gBAAgB,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;4BACjD,gBAAgB,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;4BACjD,MAAM;wBACV,CAAC;wBACD,KAAK,yCAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;4BAClC,MAAM;wBACV,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACN,MAAM;wBACV,CAAC;oBACL,CAAC;oBAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACrC,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,CACzB,CAAC;oBACF,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;oBAC9C,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;oBAE1D,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAEzC,gDAAgD;oBAChD,8DAA8D;oBAC9D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAElE,iGAAiG;oBACjG,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAErE,sEAAsE;oBACtE,wBAAwB;oBACxB,4BAA4B;oBAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;wBACvD,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjD,CAAC;oBAED,6DAA6D;oBAC7D,0EAA0E;oBAC1E,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC;oBAE5F,oEAAoE;oBACpE,IACI,gBAAgB;wBAChB,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,SAAS;wBAC/D,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,SAAS;wBAC/D,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,UAAU,EAClE,CAAC;wBACC,iBAAiB,CAAC,mBAAmB,CACjC,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,yBAAyB,IAAI,QAAQ,CAAC,WAAW,CACpD,CAAC;wBAEF,4BAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;oBACzF,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;wBACI,KAAK;wBACL,OAAO;wBACP,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;wBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;qBACpB,EACD,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mCAAmC,CAC9D,CAAC;gBACN,CAAC;YACL,CAAC;YAED,OAAO;gBACH,OAAO;gBACP,SAAS,EAAE,iBAAiB;gBAC5B,sBAAsB,EAAE,sBAAsB;aACjD,CAAC;QACN,CAAC,CAAC;QAEF;;;;;;;;;WASG;QACO,oBAAe,GAAG,CACxB,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,gBAAmC,EACnC,YAA8B,EAC9B,aAAgC,EACf,EAAE;YACnB,6EAA6E;YAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC;YAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC;YAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC;YACtE,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;YAEhD,MAAM,sBAAsB,GAAG,6BAAa,CAAC,0BAA0B;YACnE,6CAA6C;YAC7C,gBAAgB,CAAC,kBAAkB;gBAC/B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,oBAAoB;gBAC7E,CAAC,CAAC,gBAAgB,CAAC,sBAAsB,EAC7C,iBAAiB,CACpB,CAAC;YAEF,IAAI,kBAAkB,GAAkB,IAAI,CAAC,KAAK,CAC9C,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CACpG,CAAC;YAEF,MAAM,WAAW,GACb,aAAa,KAAK,kCAAiB,CAAC,GAAG;gBACvC,aAAa,KAAK,kCAAiB,CAAC,UAAU;gBAC9C,aAAa,KAAK,kCAAiB,CAAC,IAAI,CAAC;YAE7C,yFAAyF;YACzF,IACI,WAAW;gBACX,eAAe,CAAC,UAAU,CAAC,SAAS,KAAK,oBAAY,CAAC,iBAAiB;gBACvE,gBAAgB,CAAC,kBAAkB,KAAK,IAAI,EAC9C,CAAC;gBACC,IAAI,gBAAgB,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAC;oBAC9E,gBAAgB,GAAG,mBAAmB,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC;oBACnD,OAAO,gBAAgB,CAAC,kBAAkB,KAAK,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;wBACtG,qBAAqB,EAAE,CAAC;wBACxB,gBAAgB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;oBAC9D,CAAC;gBACL,CAAC;YACL,CAAC;YAED,sCAAsC;YACtC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBACtC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;gBAC7D,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE;oBAC5G,aAAa,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB;oBACzE,WAAW,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB;iBACxE,CAAC,CAAC;gBAEH,gEAAgE;gBAChE,IAAI,gBAAgB,KAAK,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;oBAC9D,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;YAED,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,wBAAwB,CACvG,aAAa,EACb,gBAAgB,EAChB,eAAe,CAAC,UAAU,EAC1B,OAAO,CACV,CAAC;YAEF,2FAA2F;YAC3F,IACI,eAAe,CAAC,UAAU,CAAC,SAAS,KAAK,oBAAY,CAAC,UAAU;gBAChE,gBAAgB,KAAK,kBAAkB,CAAC,kBAAkB,EAC5D,CAAC;gBACC,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;YAC/C,CAAC;YAED,MAAM,iBAAiB,GACnB,IAAA,kDAAiB,EAAC,aAAa,CAAC;gBAChC,kBAAkB,KAAK,IAAI;gBAC3B,kBAAkB,GAAG,kBAAgB,CAAC,uCAAuC,CAAC;YAElF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,IAAI,iBAAiB,CAAC,EAAE,CAAC;gBAChG,aAAa,GAAG,yBAAiB,CAAC,WAAW,CAAC;gBAE9C,IACI,CAAC,iBAAiB;oBAClB,yBAAyB,CAAC,yBAAyB,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAC7F,CAAC;oBACC,aAAa,GAAG,yBAAiB,CAAC,mBAAmB,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACJ,4GAA4G;oBAC5G,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBAED,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;gBACzD,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;gBACzD,gBAAgB,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,aAAa,KAAK,yBAAiB,CAAC,QAAQ,CAAC;YAE9G,qBAAqB;YACrB,MAAM,cAAc,GAAsB;gBACtC,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE;gBACjC,2EAA2E;gBAC3E,4EAA4E;gBAC5E,OAAO,EAAE,cAAc;gBACvB,mBAAmB,EAAE,wBAAwB;gBAC7C,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACnF,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;gBACzD,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;gBAC5F,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;gBAClE,kBAAkB,EAAE,gBAAgB;gBACpC,kBAAkB,EAAE,gBAAgB;gBACpC,sBAAsB,EAAE,gBAAgB;oBACpC,CAAC,CAAC,6BAAa,CAAC,0BAA0B,CACpC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,EACxD,iBAAiB,CACpB;oBACH,CAAC,CAAC,IAAI;gBACV,sBAAsB,EAAE,6BAAa,CAAC,0BAA0B,CAC5D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,EACxD,iBAAiB,CACpB;gBACD,wBAAwB,EAAE,gBAAgB;oBACtC,CAAC,CAAC,6BAAa,CAAC,0BAA0B,CACpC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAC1D,iBAAiB,CACpB;oBACH,CAAC,CAAC,IAAI;gBACV,wBAAwB,EAAE,6BAAa,CAAC,0BAA0B,CAC9D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAC1D,iBAAiB,CACpB;gBACD,KAAK,EAAE,kBAAkB;gBACzB,YAAY,EACR,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;oBACxC,gBAAgB;oBAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;oBAChD,SAAS;gBACb,cAAc,EACV,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;oBACxC,gBAAgB;oBAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvD,SAAS;gBACb,kBAAkB,EAAE,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,SAAS;gBAClG,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS;gBAClF,cAAc,EAAE,aAAa;gBAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS;gBACzC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBACxG,UAAU,EAAE,SAAS;aACxB,CAAC;YAEF,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC;IAlZF,CAAC;IAoZO,kBAAkB,CACtB,QAAoC,EACpC,OAAoC,EACpC,gBAA0C,EAC1C,aAAgC,EAChC,aAAqC,EACrC,cAAsB,EACtB,sBAA+B;QAE/B,IAAI,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC;YACpD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAClE,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,CAAC,QAAQ,EACtB,cAAc,CACjB,CAAC;YAEF,kEAAkE;YAClE,IAAI,CAAC,sBAAsB,IAAI,gBAAgB,CAAC,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7F,sBAAsB,GAAG,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAC5F,CAAC;YAED,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;QAC9D,CAAC;IACL,CAAC;IAEO,wBAAwB,CAC5B,aAAgC,EAChC,gBAAmC,EACnC,kBAA8C,EAC9C,OAAyE;QAEzE,IAAI,aAAa,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAiB,CAAC,QAAQ,CAAC;QACjH,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAE3D,2EAA2E;QAC3E,IACI,aAAa,KAAK,kCAAiB,CAAC,KAAK;YACzC,kBAAkB,CAAC,SAAS,KAAK,oBAAY,CAAC,IAAI;YAClD,OAAO,EAAE,oBAAoB,EAC/B,CAAC;YACC,MAAM,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC;YACnF,MAAM,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAEjG,4GAA4G;YAC5G,+DAA+D;YAC/D,kFAAkF;YAClF,2BAA2B;YAC3B,iEAAiE;YACjE,gFAAgF;YAChF,yBAAyB;YACzB,IAAI,wBAAwB,KAAK,oBAAY,CAAC,iBAAiB,IAAI,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;gBAC7G,aAAa,GAAG,yBAAiB,CAAC,UAAU,CAAC;YACjD,CAAC;iBAAM,IAAI,wBAAwB,KAAK,oBAAY,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;gBAClF,IAAI,gBAAgB,KAAK,wBAAwB,EAAE,CAAC;oBAChD,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;gBAC/C,CAAC;qBAAM,IAAI,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;oBACrD,aAAa,GAAG,yBAAiB,CAAC,UAAU,CAAC;gBACjD,CAAC;YACL,CAAC;YAED,IAAI,aAAa,KAAK,yBAAiB,CAAC,UAAU,IAAI,aAAa,KAAK,yBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACjG,gBAAgB,GAAG,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,OAAO;YACH,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;SACnB,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,QAAoC;QAC5D,MAAM,QAAQ,GAAkB,QAAQ,CAAC,SAAS,CAAC;QACnD,IAAI,QAAQ,KAAK,oBAAY,CAAC,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,QAAQ,KAAK,oBAAY,CAAC,iBAAiB,IAAI,QAAQ,KAAK,oBAAY,CAAC,UAAU,EAAE,CAAC;YAC7F,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,QAAQ,KAAK,4BAAoB,CAAC,UAAU,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,gBAAwB,EAAE,kBAAqC;QAChF,gEAAgE;QAChE,OAAO,gBAAgB,IAAI,kBAAkB,CAAC,kBAAkB,CAAC;IACrE,CAAC;;AA5fQ,4CAAgB;AACzB,8GAA8G;AACtF,wDAAuC,GAAG,GAAG,GAAG,EAAE,AAAX,CAAY;2BAFlE,gBAAgB;IAD5B,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,iBAAiB,CAAC,CAAA;6CAA8B,qCAAiB;GANrF,gBAAgB,CA6f5B"}
@@ -1,6 +1,7 @@
1
+ import { IVPTripsPositionAttributes } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
1
2
  import { IUpdateDelayRunTripsData, IUpdateDelayTripsIdsData } from "../data-access/interfaces/TripRepositoryInterfaces";
2
3
  import { IPositionTransformationResult } from "../interfaces/TransformationInterfaces";
3
- import { TripStopsSchedule } from "../interfaces/VPInterfaces";
4
+ import { IComputationTrip, TripStopsSchedule } from "../interfaces/VPInterfaces";
4
5
  export declare class VPUtils {
5
6
  /**
6
7
  * Set the delay computation cache to expire after 1 hour (plus 5 minutes leeway)
@@ -27,4 +28,23 @@ export declare class VPUtils {
27
28
  * Get the next PXAT timestamp at which Redis keys should expire
28
29
  */
29
30
  static getNextExpireTimestamp: () => number | undefined;
31
+ /**
32
+ * Guards against null/invalid GPS coords that would crash downstream turf.point().
33
+ * Range is deliberately broad (not a tight Czechia bbox) — module may cover other countries later.
34
+ *
35
+ * @param {number | null | undefined} lat - Latitude
36
+ * @param {number | null | undefined} lng - Longitude
37
+ */
38
+ static hasValidCoordinates: (lat: number | null | undefined, lng: number | null | undefined) => boolean;
39
+ /**
40
+ * this_stop_id preferred over last_stop_id — latter already departed, more stale.
41
+ * Trusts only this trip's own schedule, not caller-supplied ids, to avoid mismatched stops.
42
+ *
43
+ * @param {IVPTripsPositionAttributes} position - Input position row
44
+ * @param {IComputationTrip} tripGtfsData - Trip's GTFS data, including stop_times with real stop coordinates
45
+ */
46
+ static findStopCoordinatesForFallback: (position: Pick<IVPTripsPositionAttributes, "this_stop_id" | "last_stop_id">, tripGtfsData: Pick<IComputationTrip, "stop_times">) => {
47
+ lat: number;
48
+ lng: number;
49
+ } | null;
30
50
  }
@@ -67,4 +67,35 @@ VPUtils.getNextExpireTimestamp = () => {
67
67
  }
68
68
  return expireDateTime.valueOf();
69
69
  };
70
+ /**
71
+ * Guards against null/invalid GPS coords that would crash downstream turf.point().
72
+ * Range is deliberately broad (not a tight Czechia bbox) — module may cover other countries later.
73
+ *
74
+ * @param {number | null | undefined} lat - Latitude
75
+ * @param {number | null | undefined} lng - Longitude
76
+ */
77
+ VPUtils.hasValidCoordinates = (lat, lng) => {
78
+ if (lat === null || lng === null || lat === undefined || lng === undefined) {
79
+ return false;
80
+ }
81
+ return Number.isFinite(lat) && Number.isFinite(lng) && lat > 0 && lat < 100 && lng > 0 && lng < 100;
82
+ };
83
+ /**
84
+ * this_stop_id preferred over last_stop_id — latter already departed, more stale.
85
+ * Trusts only this trip's own schedule, not caller-supplied ids, to avoid mismatched stops.
86
+ *
87
+ * @param {IVPTripsPositionAttributes} position - Input position row
88
+ * @param {IComputationTrip} tripGtfsData - Trip's GTFS data, including stop_times with real stop coordinates
89
+ */
90
+ VPUtils.findStopCoordinatesForFallback = (position, tripGtfsData) => {
91
+ const wantedStopId = position.this_stop_id ?? position.last_stop_id;
92
+ if (!wantedStopId) {
93
+ return null;
94
+ }
95
+ const matchingStopTime = tripGtfsData.stop_times.find((stopTime) => stopTime.stop.stop_id === wantedStopId);
96
+ if (!matchingStopTime) {
97
+ return null;
98
+ }
99
+ return { lat: matchingStopTime.stop.stop_lat, lng: matchingStopTime.stop.stop_lon };
100
+ };
70
101
  //# sourceMappingURL=VPUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VPUtils.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.ts"],"names":[],"mappings":";;;;AAAA,yEAAsE;AACtE,iFAA2E;AAC3E,0EAA+D;AAK/D,MAAa,OAAO;;AAApB,0BA+EC;;AA9EG;;;GAGG;AACW,mCAA2B,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,AAAhB,CAAiB;AAE1D;;;;;;GAMG;AACW,oCAA4B,GAAG,CACzC,gBAA+C,EAC/C,IAAyD,EACzD,QAAuC,EAChC,EAAE;IACT,IAAI,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,kCAAiB,CAAC,KAAK,EAAE,CAAC;QAChG,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,cAAc,GAAG,EAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC7F,OAAO,cAAc,CAAC;AAC1B,CAAC,AAZyC,CAYxC;AAEF;;;;;;GAMG;AACW,+BAAuB,GAAG,CACpC,UAAkB,EAClB,gBAA+C,EAC/C,QAAuC,EAChC,EAAE;IACT,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACvE,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/F,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,CAAC,CAAC,IAAI,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1F,OAAO,gBAAgB,CAAC;AAC5B,CAAC,AAboC,CAanC;AAEF;;GAEG;AACW,8BAAsB,GAAG,GAAuB,EAAE;IAC5D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,eAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG;QACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KACzB,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,YAAG,CAAC,KAAK,CACL,4CAA4C,eAAM,CAAC,gBAAgB,CAAC,eAAe,6BAA6B,CACnH,CAAC;QACF,OAAO;IACX,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;IAClC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAElE,IAAI,cAAc,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,cAAc,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC,AAzBmC,CAyBlC"}
1
+ {"version":3,"file":"VPUtils.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,6 @@ exports.RegionalBusPositionsManager = void 0;
50
50
  const DateTimeUtils_1 = require("../../../../../../helpers/DateTimeUtils");
51
51
  const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
52
52
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
53
- const turf = __importStar(require("@turf/turf"));
54
53
  const const_1 = require("../../../../../../const");
55
54
  const PositionHandlerEnum_1 = require("../PositionHandlerEnum");
56
55
  const ValidToCalculator_1 = require("../ValidToCalculator");
@@ -78,15 +77,16 @@ let RegionalBusPositionsManager = RegionalBusPositionsManager_1 = class Regional
78
77
  try {
79
78
  switch (this.setPositionUpdateHandler(position)) {
80
79
  case PositionHandlerEnum_1.PositionHandlerEnum.TRACKING: {
81
- const currentPosition = turf.point([position.lng, position.lat], {
82
- id: position.id,
83
- origin_time: position.origin_time,
84
- origin_timestamp: position.origin_timestamp,
85
- scheduled_timestamp: position.scheduled_timestamp,
86
- this_stop_id: position.this_stop_id,
87
- tcp_event: position.tcp_event,
88
- });
80
+ const resolved = this.resolveTrackingPosition(position, tripPositions.gtfsData, context, this.logger);
81
+ if (resolved.fallback != null) {
82
+ positionToUpdate = resolved.fallback;
83
+ break;
84
+ }
85
+ const { currentPosition, usedStopCoordinatesFallback } = resolved;
89
86
  positionToUpdate = this.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp);
87
+ if (usedStopCoordinatesFallback) {
88
+ this.backfillStopCoordinatesFallback(positionToUpdate, currentPosition);
89
+ }
90
90
  positionToUpdate = RegionalBusComputeDelayHelper_1.RegionalBusComputeDelayHelper.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
91
91
  positionToUpdate.bearing = position.bearing ?? positionToUpdate.bearing;
92
92
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAuD;AACvD,uEAA8E;AAG9E,iEAAwE;AAExE,mDAAgE;AAShE,gEAA6D;AAC7D,4DAAyD;AACzD,2FAAwF;AACxF,qGAAkG;AAClG,kEAA+D;AAI/D,wEAAqE;AACrE,qFAAuE;AAGhE,IAAM,2BAA2B,mCAAjC,MAAM,2BAA4B,SAAQ,2CAAoB;IACjE,YACgD,iBAA8C,EAChE,MAAuB;QAEjD,KAAK,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QAHL,sBAAiB,GAAjB,iBAAiB,CAAmB;QACxD,WAAM,GAAN,MAAM,CAAS;QAKrD;;WAEG;QACI,oBAAe,GAAG,CACrB,OAAwC,EACxC,SAAqC,EAClB,EAAE;YACrB,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;YAEhH,IAAI,sBAAsB,GAAG,KAAK,CAAC;YAEnC,MAAM,eAAe,GAAiC,aAAa,CAAC,SAAS,CAAC;YAE9E,eAAe,CAAC,IAAI,CAAC,6BAA2B,CAAC,qBAAqB,CAAC,CAAC;YAExE,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,gBAAgB,GAA6B,IAAI,CAAC;gBAEtD,aAAa;gBACb,IAAI,CAAC;oBACD,QAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9C,KAAK,yCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;4BACtG,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gCAC5B,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;gCACrC,MAAM;4BACV,CAAC;4BACD,MAAM,EAAE,eAAe,EAAE,2BAA2B,EAAE,GAAG,QAAQ,CAAC;4BAElE,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,EACf,OAAO,EACP,iBAAiB,CACpB,CAAC;4BAEF,IAAI,2BAA2B,EAAE,CAAC;gCAC9B,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;4BAC5E,CAAC;4BAED,gBAAgB,GAAG,6DAA6B,CAAC,sBAAsB,CACnE,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;4BAEF,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC;4BACxE,MAAM;wBACV,CAAC;wBACD,KAAK,yCAAmB,CAAC,YAAY;4BACjC,uFAAuF;4BACvF,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gCAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gCAC3D,gBAAgB,GAAG,IAAI,CAAC,kCAAkC,CACtD,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,KAAK,EACL,CAAC,CACJ,CAAC;4BACN,CAAC;iCAAM,CAAC;gCACJ,6FAA6F;gCAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAC9C,QAAQ,EACR,OAAO,CAAC,2BAA2B,EACnC,eAAe,CAClB,CAAC;gCACF,MAAM,qBAAqB,GACvB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CACvC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CACzD,CAAC;gCACN,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCAErG,MAAM,kCAAkC,GAAG,6BAAa,CAAC,0BAA0B,CAC/E,qBAAqB,CAAC,sBAAsB,EAC5C,iBAAiB,CACpB,CAAC;gCACF,gBAAgB,GAAG;oCACf,EAAE,EAAE,QAAQ,CAAC,EAAE;oCACf,sBAAsB,EAAE,kCAAkC;oCAC1D,wBAAwB,EAAE,kCAAkC;oCAC5D,YAAY,EAAE,YAAY,CAAC,OAAO;oCAClC,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB;oCAC5D,mBAAmB,EAAE,qBAAqB,CAAC,mBAAmB;oCAC9D,cAAc,EAAE,aAAa;oCAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS;oCACzC,GAAG,CAAC,YAAY,CAAC,aAAa,IAAI;wCAC9B,kBAAkB,EAAE,YAAY,CAAC,aAAa;qCACjD,CAAC;iCACL,CAAC;gCAEF,0EAA0E;gCAC1E,qDAAqD;gCACrD,IACI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,WAAW;oCACjE,qDAAyB,CAAC,8BAA8B,CAAC,OAAO,CAAC,EACnE,CAAC;oCACC,gBAAgB,CAAC,cAAc,GAAG,yBAAiB,CAAC,mBAAmB,CAAC;gCAC5E,CAAC;gCAED,gBAAgB,GAAG,6DAA6B,CAAC,sBAAsB,CACnE,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;gCAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,mBAAmB,EAAE,CAAC;oCAC5E,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,kBAAkB,IAAI,IAAI,CAAC;gCACzE,CAAC;4BACL,CAAC;4BACD,MAAM;wBACV,KAAK,yCAAmB,CAAC,UAAU,CAAC;wBACpC;4BACI,MAAM;oBACd,CAAC;oBAED,6BAA6B;oBAC7B,IAAI,gBAAgB,EAAE,CAAC;wBACnB,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC;wBACpD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAClE,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,CAAC,QAAQ,EACtB,cAAc,CACjB,CAAC;wBAEF,kEAAkE;wBAClE,IAAI,CAAC,sBAAsB,IAAI,gBAAgB,CAAC,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;4BAC7F,sBAAsB,GAAG,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;wBAC5F,CAAC;wBAED,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC7C,CAAC;oBAED,+CAA+C;oBAC/C,6DAA6D;oBAC7D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAElE,iGAAiG;oBACjG,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAErE,sEAAsE;oBACtE,wBAAwB;oBACxB,4BAA4B;oBAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;wBACvD,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjD,CAAC;oBAED,sDAAsD;oBACtD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,SAAS,EAAE,CAAC;wBACtF,iBAAiB,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAEjG,6DAA6B,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;oBACpG,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;wBACI,KAAK;wBACL,OAAO;wBACP,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;wBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;qBACpB,EACD,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mCAAmC,CAC9D,CAAC;gBACN,CAAC;YACL,CAAC;YAED,OAAO;gBACH,OAAO;gBACP,SAAS,EAAE,iBAAiB;gBAC5B,sBAAsB,EAAE,sBAAsB;aACjD,CAAC;QACN,CAAC,CAAC;QAEF;;;;;;;;;WASG;QACO,oBAAe,GAAG,CACxB,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,gBAAmC,EACnC,YAA8B,EAC9B,cAAkC,EACjB,EAAE;YACnB,6EAA6E;YAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC;YAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC;YAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEvE,MAAM,sBAAsB,GAAG,6BAAa,CAAC,0BAA0B;YACnE,6CAA6C;YAC7C,gBAAgB,CAAC,kBAAkB;gBAC/B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,oBAAoB;gBAC7E,CAAC,CAAC,gBAAgB,CAAC,sBAAsB,EAC7C,iBAAiB,CACpB,CAAC;YAEF,IAAI,kBAAkB,GAAkB,IAAI,CAAC,KAAK,CAC9C,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CACpG,CAAC;YAEF,sCAAsC;YACtC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBACtC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;gBAC7D,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE;oBAC5G,aAAa,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB;oBACzE,WAAW,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB;iBACxE,CAAC,CAAC;gBAEH,gEAAgE;gBAChE,IAAI,gBAAgB,KAAK,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;oBAC9D,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;YAED,IAAI,gBAAgB,GAAkB,gBAAgB,CAAC,kBAAkB,CAAC;YAC1E,IAAI,gBAAgB,GAAW,gBAAgB,CAAC,kBAAkB,CAAC;YACnE,IAAI,gBAAgB,GAAkB,gBAAgB,CAAC,kBAAkB,CAAC;YAE1E,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACjG,MAAM,SAAS,GAAG,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,aAAa,KAAK,yBAAiB,CAAC,QAAQ,CAAC;YAE9G,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,IAAI,aAAa,KAAK,yBAAiB,CAAC,WAAW,EAAE,CAAC;oBAClD,mFAAmF;oBACnF,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBAED,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;gBACzD,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;gBACzD,gBAAgB,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,qBAAqB;YACrB,MAAM,cAAc,GAAsB;gBACtC,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE;gBACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;gBACzD,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACnF,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;gBACzD,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;gBAC5F,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;gBAClE,kBAAkB,EAAE,gBAAgB;gBACpC,kBAAkB,EAAE,gBAAgB;gBACpC,sBAAsB,EAAE,gBAAgB;oBACpC,CAAC,CAAC,6BAAa,CAAC,0BAA0B,CACpC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,EACxD,iBAAiB,CACpB;oBACH,CAAC,CAAC,IAAI;gBACV,sBAAsB,EAAE,6BAAa,CAAC,0BAA0B,CAC5D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,EACxD,iBAAiB,CACpB;gBACD,wBAAwB,EAAE,gBAAgB;oBACtC,CAAC,CAAC,6BAAa,CAAC,0BAA0B,CACpC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAC1D,iBAAiB,CACpB;oBACH,CAAC,CAAC,IAAI;gBACV,wBAAwB,EAAE,6BAAa,CAAC,0BAA0B,CAC9D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAC1D,iBAAiB,CACpB;gBACD,KAAK,EAAE,kBAAkB;gBACzB,YAAY,EACR,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;oBACxC,gBAAgB;oBAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;oBAChD,SAAS;gBACb,cAAc,EACV,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;oBACxC,gBAAgB;oBAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvD,SAAS;gBACb,kBAAkB,EAAE,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,SAAS;gBAClG,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS;gBAClF,cAAc,EAAE,aAAa;gBAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS;gBACzC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBACxG,UAAU,EAAE,SAAS;aACxB,CAAC;YAEF,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAC7B,gBAAmC,EACnC,aAAgC,EAChC,OAA2C,EAC1B,EAAE;YACnB,IAAI,gBAAgB,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBAC1E,IAAI,qDAAyB,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpE,OAAO,yBAAiB,CAAC,mBAAmB,CAAC;gBACjD,CAAC;gBAED,OAAO,yBAAiB,CAAC,WAAW,CAAC;YACzC,CAAC;iBAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBAC7C,OAAO,yBAAiB,CAAC,OAAO,CAAC;YACrC,CAAC;YAED,OAAO,yBAAiB,CAAC,QAAQ,CAAC;QACtC,CAAC,CAAC;IA7TF,CAAC;CA8TJ,CAAA;AApUY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,iBAAiB,CAAC,CAAA;IAC1C,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADgD,qCAAiB;GAFrF,2BAA2B,CAoUvC"}
@@ -113,7 +113,10 @@ function recordTracking(context, position, positionToUpdate) {
113
113
  // Explicit literal with `?? null` per field: any field that would otherwise merge in as
114
114
  // `undefined` now persists as `null` instead. This is an intentional, documented behavior
115
115
  // change - `undefined` keys get dropped by `JSON.stringify`, `null` keys are kept.
116
- context.lastPositionTracking = turf.point([position.lng, position.lat], {
116
+ //
117
+ // mergedPosition.lat/lng (not raw position's) - avoids re-crashing turf.point on the same
118
+ // invalid coordinates the caller's guard already sanitized.
119
+ context.lastPositionTracking = turf.point([mergedPosition.lng, mergedPosition.lat], {
117
120
  bearing: mergedPosition.bearing ?? null,
118
121
  shape_dist_traveled: mergedPosition.shape_dist_traveled ?? null,
119
122
  tcp_event: mergedPosition.tcp_event ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"TripContextHelper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TripContextHelper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,sCAyBC;AAMD,kDAcC;AAMD,0CAWC;AAKD,wCA6BC;AAMD,4DAWC;AAKD,gDAgBC;AAMD,8CAEC;AAKD,gDAIC;AAMD,sEAQC;AAMD,0DAEC;AAMD,8DAEC;AAMD,oDAMC;AAMD,sDAiBC;AAlOD,iDAAmC;AACnC,mDAA8C;AAM9C;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAc;IACxC,OAAO;QACH,YAAY,EAAE;YACV,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,IAAI;SAC3B;QACD,oBAAoB,EAAE;YAClB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,IAAI;SACxB;QACD,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,2BAA2B,EAAE,IAAI;QACjC,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,8BAA8B,EAAE,IAAI;QACpC,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,IAAI;QACtB,uBAAuB,EAAE,IAAI;QAC7B,MAAM;KACT,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAC/B,OAAoC,EACpC,QAAoC,EACpC,gBAAmC,EACnC,QAAiB;IAEjB,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC;IACvC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC;IACvC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC;IACxC,OAAO,CAAC,2BAA2B,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAC1E,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAEnG,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC3B,OAAoC,EACpC,KAAwB,EACxB,OAAiC;IAEjC,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC;IAExD,IAAI,cAAc,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACxD,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAClC,OAAO,CAAC,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC1B,OAAoC,EACpC,QAAoC,EACpC,gBAA0C;IAE1C,IACI,gBAAgB,EAAE,cAAc,KAAK,yBAAiB,CAAC,OAAO;QAC9D,gBAAgB,EAAE,cAAc,KAAK,yBAAiB,CAAC,QAAQ;QAC/D,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;QACrD,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,EACxD,CAAC;QACC,MAAM,cAAc,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,gBAAgB,EAAgC,CAAC;QAE1F,wFAAwF;QACxF,0FAA0F;QAC1F,mFAAmF;QACnF,EAAE;QACF,0FAA0F;QAC1F,4DAA4D;QAC5D,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE;YAChF,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,IAAI;YACvC,mBAAmB,EAAE,cAAc,CAAC,mBAAmB,IAAI,IAAI;YAC/D,SAAS,EAAE,cAAc,CAAC,SAAS,IAAI,IAAI;YAC3C,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,IAAI,IAAI;YAC7D,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,IAAI;YACjD,sBAAsB,EAAE,cAAc,CAAC,sBAAsB,IAAI,IAAI;YACrE,wBAAwB,EAAE,cAAc,CAAC,wBAAwB,IAAI,IAAI;SAC5E,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CACpC,OAAoC,EACpC,QAAoC,EACpC,gBAA0C;IAE1C,IAAI,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,oBAAoB,EAAE,CAAC;QACrE,OAAO,CAAC,8BAA8B,GAAG;YACrC,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK;YAChD,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;SACpF,CAAC;IACN,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAC9B,OAAoC,EACpC,QAAoC,EACpC,gBAA0C;IAE1C,MAAM,mBAAmB,GAAG,gBAAgB;QACxC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,CAAC,kBAAkB;QACnH,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,QAAQ,CAAC,kBAAkB,CAAC;IAExG,IAAI,mBAAmB,EAAE,CAAC;QACtB,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,gBAAgB;YACjD,CAAC,CAAC,gBAAgB,CAAC,kBAAmB;YACtC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClC,OAAO,CAAC,YAAY,CAAC,sBAAsB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAClF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1G,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,OAAoC;IAClE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAoC;IACnE,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,IAAI,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CACzC,OAAoC,EACpC,gBAA0C,EAC1C,QAAgD;IAEhD,IAAI,OAAO,CAAC,oBAAoB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,gBAAgB,EAAE,kBAAkB,IAAI,QAAQ,EAAE,kBAAkB,IAAI,IAAI,CAAC;IACzH,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,OAAoC,EAAE,KAAgC;IAC1G,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAsB,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,OAAoC,EAAE,KAAgC;IAC5G,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAsB,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAChC,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;IAEpC,OAAO,CAAC,iBAAiB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAkB,CAAC;AAC9G,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACjC,OAAoC,EACpC,GAAoB,EACpB,GAAoB,EACpB,KAAa,EACb,eAAqB;IAErB,kDAAkD;IAClD,OAAO,CAAC,eAAe,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1E,OAAO,CAAC,eAAe,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1E,eAAe,CAAC,OAAO,EAAE,yBAAiB,CAAC,oBAAoB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3F,OAAO,CAAC,8BAA8B,GAAG;QACrC,KAAK;QACL,gBAAgB,EAAE,eAAe;KACpC,CAAC;AACN,CAAC"}
@@ -35,6 +35,12 @@
35
35
  - jinak je stav `after_track`
36
36
  - **zvláštní případ**: pokud má pozice `cis_last_stop_id = null`, stav se znovu nevyhodnocuje – pozice si zachovává poslední známý stav (zmrazení stavu); to zabraňuje nežádoucímu cyklování zpět do `untracked` pouze kvůli chybějící CIS zastávce
37
37
  - Tracking (`tracking` je `2`)
38
+ - **neplatné/chybějící souřadnice** - pokud pozice nese `this_stop_id`/`last_stop_id`
39
+ odpovídající zastávce v GTFS trase spoje, dopočítá se poloha z této zastávky (stejný
40
+ pipeline jako reálné GPS, viz [trip_context/index.md](../trip_context/index.md#invalid-gps-coordinates-stop-based-fallback));
41
+ bez shody se stav zmrazí na posledním známém - v obou případech se pozice vždy uloží
42
+ jako zpracovaná (`state_process = processed`), aby se stejná chybná pozice nezacyklila
43
+ při dalším běhu
38
44
  - pokud je vozidlo 200 metrů od nejblizšího bodu na trase, stav je `off_track`
39
45
  - pokud je vozidlo v zastávce, je stav `at_stop`
40
46
  - pokud je vozidlo mimo zastávku a zároveň vozidlo poslalo zprávu `O` mimo poslední zastávku, je stav `on_track`
@@ -3,7 +3,8 @@
3
3
  Per-trip state carried between consecutive vehicle position updates. It represents what is known
4
4
  about a trip's last processed position - id, coordinates, state, delay bookkeeping, cancellation
5
5
  and a small tracking snapshot. One context instance exists per `tripId` for the lifetime of the
6
- trip's real-time processing.
6
+ trip's real-time processing. Defined in
7
+ `src/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.ts`.
7
8
 
8
9
  - **Created**: `TripContextHelper.createInitial(tripId)` when a trip is seen for the first time
9
10
  in a processing run and has no persisted context yet.
@@ -11,27 +12,40 @@ trip's real-time processing.
11
12
  - **Persisted**: serialized to JSON and stored (Postgres); reloaded on the next run and merged back
12
13
  into the working context.
13
14
 
14
- Defined in `src/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.ts`.
15
+ This document covers, in order:
15
16
 
16
- ## Helper write boundary
17
+ 1. [Core lifecycle rules](#core-lifecycle-rules) - the write boundary and the timestamp rule that
18
+ apply to every context mutation.
19
+ 2. [Field-specific contracts](#field-specific-contracts) - quirks of individual fields
20
+ (cancellation, the before-track-delayed seed, the date/string duality, last-stop delay
21
+ bookkeeping, the at-stop streak's asymmetric clear).
22
+ 3. [Fallback behavior](#fallback-behavior) - what happens when the incoming GPS position is
23
+ invalid, and the lean shape used to persist tracking snapshots.
17
24
 
18
- [`TripContextHelper.ts`](../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.ts)
19
- is the only module allowed to mutate `IVPTripsLastPositionContext` fields. Callers (`PositionsManager`,
20
- `RegionalBusPositionsManager`, `ComputeDelayHelper`, delay-propagation tasks, ...) always go through one
21
- of its exported functions instead of writing to the context object directly. New processing logic that
22
- needs to change the context must add or reuse a function here rather than mutating the context inline.
25
+ ## Core lifecycle rules
23
26
 
24
- ## Timestamp rule (`transitionState`)
27
+ ### Helper write boundary
25
28
 
26
- `transitionState(context, state, options?)` stamps `lastPositionStateChange` (ISO string, `new Date().toISOString()`)
27
- only when `state` actually differs from `context.lastPositionState` - a state that repeats across
28
- consecutive positions does not re-stamp the timestamp.
29
+ - [`TripContextHelper.ts`](../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.ts)
30
+ is the only module allowed to mutate `IVPTripsLastPositionContext` fields.
31
+ - Callers (`PositionsManager`, `RegionalBusPositionsManager`, `ComputeDelayHelper`,
32
+ delay-propagation tasks, ...) always go through one of its exported functions instead of writing
33
+ to the context object directly.
34
+ - New processing logic that needs to change the context must add or reuse a function here rather
35
+ than mutating the context inline.
29
36
 
30
- The one exception is `options.forceTimestamp`, used by delay propagation
31
- (`TripContextHelper.recordPropagatedDelay`) to force a fresh `BEFORE_TRACK_DELAYED` transition and
32
- timestamp even when the state did not change, since the propagated delay itself is new information.
37
+ ### Timestamp rule (`transitionState`)
33
38
 
34
- ## Cancellation: sticky vs. plain
39
+ - `transitionState(context, state, options?)` stamps `lastPositionStateChange` (ISO string,
40
+ `new Date().toISOString()`) only when `state` actually differs from `context.lastPositionState`
41
+ - a state that repeats across consecutive positions does not re-stamp the timestamp.
42
+ - The one exception is `options.forceTimestamp`, used by delay propagation
43
+ (`TripContextHelper.recordPropagatedDelay`) to force a fresh `BEFORE_TRACK_DELAYED` transition and
44
+ timestamp even when the state did not change, since the propagated delay itself is new information.
45
+
46
+ ## Field-specific contracts
47
+
48
+ ### Cancellation: sticky vs. plain
35
49
 
36
50
  `lastPositionCanceled` means different things depending on which manager writes it, both via the same
37
51
  `TripContextHelper.commitValidPosition(context, position, positionToUpdate, canceled)` call:
@@ -39,32 +53,82 @@ timestamp even when the state did not change, since the propagated delay itself
39
53
  - **`PositionsManager`** treats it as a sticky accumulator: once a position sets it (via
40
54
  `lastPositionStaysCanceled`, driven by `hasTcpEventOrCancel`), later positions keep it canceled
41
55
  even if they themselves are not canceled (`lastPositionStaysCanceled || position.is_canceled`).
42
- A trip cannot un-cancel itself here.
56
+ - A trip cannot un-cancel itself here.
43
57
  - **`RegionalBusPositionsManager`** passes the plain per-position `position.is_canceled` with no
44
58
  stickiness - the flag reflects only the current position.
45
-
46
- Do not assume `lastPositionCanceled` is sticky across all managers; check which manager owns the trip.
47
-
48
- ## Sticky seed: `lastPositionBeforeTrackDelayed`
49
-
50
- `context.lastPositionBeforeTrackDelayed` stores `{ delay, origin_timestamp }` for the last
51
- `BEFORE_TRACK_DELAYED` position, written by `TripContextHelper.recordBeforeTrackDelayed` and
52
- `TripContextHelper.recordPropagatedDelay`. The timestamp is stored as-is (`Date` or whatever was
53
- passed in) - it is never re-derived by calling `.getTime()` on an already-stored value. Treat it as an
54
- opaque, already-resolved snapshot rather than something to recompute from.
55
-
56
- ## Date/string contract on `origin_timestamp`-family fields
57
-
58
- `lastPositionBeforeTrackDelayed.origin_timestamp` is typed `string | Date | null`. A context persisted
59
- to Postgres round-trips through `JSON.stringify`/`JSON.parse`, which serializes a `Date` to an ISO
60
- string - so a freshly created context in memory holds a `Date`, while one reloaded from storage holds a
61
- `string`. Both must be handled on read.
62
-
63
- Because of this, and because `null` is a valid value distinct from "not a Date/string", consumers must
64
- never narrow with `=== null` (or `!== null`) alone - use `??`/`== null` so both `null` and `undefined`
65
- are treated consistently.
66
-
67
- ## Lean tracking shape: `lastPositionTracking`
59
+ - Do not assume `lastPositionCanceled` is sticky across all managers; check which manager owns the trip.
60
+
61
+ ### Sticky seed: `lastPositionBeforeTrackDelayed`
62
+
63
+ - `context.lastPositionBeforeTrackDelayed` stores `{ delay, origin_timestamp }` for the last
64
+ `BEFORE_TRACK_DELAYED` position, written by `TripContextHelper.recordBeforeTrackDelayed` and
65
+ `TripContextHelper.recordPropagatedDelay`.
66
+ - The timestamp is stored as-is (`Date` or whatever was passed in) - it is never re-derived by
67
+ calling `.getTime()` on an already-stored value.
68
+ - Treat it as an opaque, already-resolved snapshot rather than something to recompute from.
69
+
70
+ ### Date/string contract on `origin_timestamp`-family fields
71
+
72
+ - `lastPositionBeforeTrackDelayed.origin_timestamp` is typed `string | Date | null`.
73
+ - A context persisted to Postgres round-trips through `JSON.stringify`/`JSON.parse`, which
74
+ serializes a `Date` to an ISO string - so a freshly created context in memory holds a `Date`,
75
+ while one reloaded from storage holds a `string`.
76
+ - Both must be handled on read.
77
+ - Because of this, and because `null` is a valid value distinct from "not a Date/string", consumers
78
+ must never narrow with `=== null` (or `!== null`) alone - use `??`/`== null` so both `null` and
79
+ `undefined` are treated consistently.
80
+
81
+ ### Last-stop delay bookkeeping: `lastPositionLastStop`
82
+
83
+ - `context.lastPositionLastStop` holds `{ sequence, arrival_delay, departure_delay }` for the last
84
+ stop the trip was at.
85
+ - `TripContextHelper.resetLastStopDelay` clears all three fields to `null` together.
86
+ - `TripContextHelper.updateLastStopSequenceIfUnset` only writes `sequence` when it is currently
87
+ `null` - it never overwrites an already-set sequence.
88
+ - `TripContextHelper.setLastStopArrivalDelay`/`setLastStopDepartureDelay` are verbatim
89
+ pass-throughs: `undefined` must remain `undefined` (dropped by `JSON.stringify`) rather than
90
+ being coerced to `null`, since that would change the persisted bytes.
91
+
92
+ ### Asymmetric clear: `atStopStreak`
93
+
94
+ - `context.atStopStreak` holds `{ stop_sequence, firstPositionTimestamp, firstPositionDelay }`,
95
+ tracking how long a trip has stayed at the same stop.
96
+ - `TripContextHelper.clearAtStopStreak` zeroes **only** `stop_sequence` to `null`.
97
+ - `firstPositionTimestamp` and `firstPositionDelay` are intentionally left untouched, persisted
98
+ as-is.
99
+ - Do not assume clearing the streak resets the whole object; check `stop_sequence` specifically
100
+ when deciding whether a streak is active.
101
+
102
+ ## Fallback behavior
103
+
104
+ ### Invalid GPS coordinates: stop-based fallback
105
+
106
+ `BasePositionsManager.resolveTrackingPosition` - guard before `lat`/`lng` feed into `turf.point`.
107
+
108
+ - Trigger: `VPUtils.hasValidCoordinates` fails (null, non-finite, outside `(0, 100)` on either axis).
109
+ - Step 1: `VPUtils.findStopCoordinatesForFallback` - look up `this_stop_id` (preferred) or
110
+ `last_stop_id` in trip's loaded GTFS `stop_times`. Covers: GPS dead, onboard stop-matching
111
+ (CIS/ASW) still correct.
112
+ - Step 2, match found: use stop's coords instead of raw GPS, build `turf` point, run normal
113
+ `getEstimatedPoint`/delay pipeline - real `AT_STOP`/`ON_TRACK` + delay, not frozen stale state.
114
+ Stop's own coords re-checked via `hasValidCoordinates` too - bad GTFS stop data falls through
115
+ to step 3, not trusted.
116
+ - Step 3, no match (no stop id, or id not in trip schedule): `buildInvalidCoordinatesFallback`.
117
+ - `lat`/`lng`: `position.lat`/`lng` re-checked via `hasValidCoordinates` (not plain `??`, since a
118
+ `NaN` from a bad upstream parse is not `null`/`undefined` and would otherwise pass through
119
+ unchanged); only on failure falls back to `context.lastPositionLat`/`Lng`, then `0` as last
120
+ resort.
121
+ - `state_position` from `context.lastPositionState`.
122
+ - `last_stop_id`/`last_stop_sequence`: current position's own fields first
123
+ (`this_stop_sequence ?? last_stop_sequence`), stale `context.lastPositionTracking` snapshot
124
+ only as last resort - avoids sticking at old sequence once GPS recovers.
125
+ - All branches: `state_process = PROCESSED` unconditionally. Why: pre-fix, crash on invalid
126
+ coords left row unprocessed - same bad row re-fetched + re-crashed worker every run (one bad
127
+ GPS event → hundreds of crashes/hour). Unconditional PROCESSED breaks that loop.
128
+ - Shared via base class by `PositionsManager` + `RegionalBusPositionsManager` - don't reimplement
129
+ inline in either subclass.
130
+
131
+ ### Lean tracking shape: `lastPositionTracking`
68
132
 
69
133
  `context.lastPositionTracking` is a GeoJSON `Feature<Point, IVPTripsTrackingProperties>` written by
70
134
  `TripContextHelper.recordTracking`, only for positions in `AT_STOP` or `ON_TRACK` state.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "5.19.1-dev.2809129013",
3
+ "version": "5.19.1-dev.2815853394",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",