clarion-shared-types 1.0.114 → 1.0.116

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 (64) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/modules/dispatch/enums/response-unit-dispatch-enums.js +133 -0
  4. package/dist/cjs/modules/dispatch/enums/response-unit-dispatch-enums.js.map +1 -0
  5. package/dist/cjs/modules/dispatch/index.js +23 -0
  6. package/dist/cjs/modules/dispatch/index.js.map +1 -0
  7. package/dist/cjs/modules/dispatch/interfaces/response-unit-dispatch.dto.js +3 -0
  8. package/dist/cjs/modules/dispatch/interfaces/response-unit-dispatch.dto.js.map +1 -0
  9. package/dist/cjs/modules/dispatch/utils/response-unit-dispatch-display.util.js +198 -0
  10. package/dist/cjs/modules/dispatch/utils/response-unit-dispatch-display.util.js.map +1 -0
  11. package/dist/cjs/modules/incident/enums/incident-actions.enum.js +2 -0
  12. package/dist/cjs/modules/incident/enums/incident-actions.enum.js.map +1 -1
  13. package/dist/cjs/modules/notification/index.js +2 -0
  14. package/dist/cjs/modules/notification/index.js.map +1 -1
  15. package/dist/cjs/modules/notification/interfaces/notification-analytics.js +27 -0
  16. package/dist/cjs/modules/notification/interfaces/notification-analytics.js.map +1 -0
  17. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +9 -0
  18. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  19. package/dist/cjs/modules/permission/enums/permissions-moudule.enum.js +1 -0
  20. package/dist/cjs/modules/permission/enums/permissions-moudule.enum.js.map +1 -1
  21. package/dist/cjs/modules/response-unit/enums/response-unit/response-capability.enum.js +28 -0
  22. package/dist/cjs/modules/response-unit/enums/response-unit/response-capability.enum.js.map +1 -0
  23. package/dist/cjs/modules/response-unit/index.js +1 -0
  24. package/dist/cjs/modules/response-unit/index.js.map +1 -1
  25. package/dist/esm/index.js +1 -0
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/modules/dispatch/enums/response-unit-dispatch-enums.js +130 -0
  28. package/dist/esm/modules/dispatch/enums/response-unit-dispatch-enums.js.map +1 -0
  29. package/dist/esm/modules/dispatch/index.js +7 -0
  30. package/dist/esm/modules/dispatch/index.js.map +1 -0
  31. package/dist/esm/modules/dispatch/interfaces/response-unit-dispatch.dto.js +2 -0
  32. package/dist/esm/modules/dispatch/interfaces/response-unit-dispatch.dto.js.map +1 -0
  33. package/dist/esm/modules/dispatch/utils/response-unit-dispatch-display.util.js +188 -0
  34. package/dist/esm/modules/dispatch/utils/response-unit-dispatch-display.util.js.map +1 -0
  35. package/dist/esm/modules/incident/enums/incident-actions.enum.js +2 -0
  36. package/dist/esm/modules/incident/enums/incident-actions.enum.js.map +1 -1
  37. package/dist/esm/modules/notification/index.js +2 -0
  38. package/dist/esm/modules/notification/index.js.map +1 -1
  39. package/dist/esm/modules/notification/interfaces/notification-analytics.js +26 -0
  40. package/dist/esm/modules/notification/interfaces/notification-analytics.js.map +1 -0
  41. package/dist/esm/modules/permission/enums/permission-actions.enum.js +9 -0
  42. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  43. package/dist/esm/modules/permission/enums/permissions-moudule.enum.js +1 -0
  44. package/dist/esm/modules/permission/enums/permissions-moudule.enum.js.map +1 -1
  45. package/dist/esm/modules/response-unit/enums/response-unit/response-capability.enum.js +25 -0
  46. package/dist/esm/modules/response-unit/enums/response-unit/response-capability.enum.js.map +1 -0
  47. package/dist/esm/modules/response-unit/index.js +1 -0
  48. package/dist/esm/modules/response-unit/index.js.map +1 -1
  49. package/dist/types/index.d.ts +1 -0
  50. package/dist/types/modules/dispatch/enums/response-unit-dispatch-enums.d.ts +109 -0
  51. package/dist/types/modules/dispatch/index.d.ts +3 -0
  52. package/dist/types/modules/dispatch/interfaces/response-unit-dispatch.dto.d.ts +166 -0
  53. package/dist/types/modules/dispatch/utils/response-unit-dispatch-display.util.d.ts +30 -0
  54. package/dist/types/modules/incident/enums/incident-actions.enum.d.ts +2 -0
  55. package/dist/types/modules/incident/intefaces/incident-category.d.ts +6 -0
  56. package/dist/types/modules/incident/intefaces/incident-type.d.ts +6 -0
  57. package/dist/types/modules/notification/index.d.ts +1 -0
  58. package/dist/types/modules/notification/interfaces/notification-analytics.d.ts +273 -0
  59. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +4 -0
  60. package/dist/types/modules/permission/enums/permissions-moudule.enum.d.ts +1 -0
  61. package/dist/types/modules/response-unit/enums/response-unit/response-capability.enum.d.ts +22 -0
  62. package/dist/types/modules/response-unit/index.d.ts +1 -0
  63. package/dist/types/modules/response-unit/interfaces/response-unit/response-unit.d.ts +3 -0
  64. package/package.json +1 -1
@@ -0,0 +1,130 @@
1
+ /*
2
+ * Response-unit recommendation and dispatch - the admin's copy of
3
+ * grm-shared-library's dispatch enums. Same names, same values; the
4
+ * `__tests__` spec pins the values so a drift fails a build rather than a
5
+ * screen.
6
+ */
7
+ /** Where one unit is in answering one incident. ACTIVE = DISPATCHED..ON_SCENE. */
8
+ export var ResponseUnitDispatchStatus;
9
+ (function (ResponseUnitDispatchStatus) {
10
+ ResponseUnitDispatchStatus["DISPATCHED"] = "DISPATCHED";
11
+ ResponseUnitDispatchStatus["ACKNOWLEDGED"] = "ACKNOWLEDGED";
12
+ ResponseUnitDispatchStatus["EN_ROUTE"] = "EN_ROUTE";
13
+ ResponseUnitDispatchStatus["ON_SCENE"] = "ON_SCENE";
14
+ ResponseUnitDispatchStatus["COMPLETED"] = "COMPLETED";
15
+ ResponseUnitDispatchStatus["CANCELLED"] = "CANCELLED";
16
+ })(ResponseUnitDispatchStatus || (ResponseUnitDispatchStatus = {}));
17
+ export var ResponseUnitDispatchTransitionSource;
18
+ (function (ResponseUnitDispatchTransitionSource) {
19
+ ResponseUnitDispatchTransitionSource["DISPATCHER"] = "DISPATCHER";
20
+ ResponseUnitDispatchTransitionSource["INCIDENT_LIFECYCLE"] = "INCIDENT_LIFECYCLE";
21
+ ResponseUnitDispatchTransitionSource["RESPONDER"] = "RESPONDER";
22
+ ResponseUnitDispatchTransitionSource["WORKFLOW"] = "WORKFLOW";
23
+ })(ResponseUnitDispatchTransitionSource || (ResponseUnitDispatchTransitionSource = {}));
24
+ export var ResponseUnitCapabilityMatch;
25
+ (function (ResponseUnitCapabilityMatch) {
26
+ ResponseUnitCapabilityMatch["MATCH"] = "MATCH";
27
+ ResponseUnitCapabilityMatch["NOT_REQUIRED"] = "NOT_REQUIRED";
28
+ ResponseUnitCapabilityMatch["UNKNOWN"] = "UNKNOWN";
29
+ ResponseUnitCapabilityMatch["NOT_SUITED"] = "NOT_SUITED";
30
+ })(ResponseUnitCapabilityMatch || (ResponseUnitCapabilityMatch = {}));
31
+ export var ResponseCapabilityRequirementSource;
32
+ (function (ResponseCapabilityRequirementSource) {
33
+ ResponseCapabilityRequirementSource["INCIDENT_TYPE"] = "INCIDENT_TYPE";
34
+ ResponseCapabilityRequirementSource["INCIDENT_CATEGORY"] = "INCIDENT_CATEGORY";
35
+ ResponseCapabilityRequirementSource["NONE"] = "NONE";
36
+ })(ResponseCapabilityRequirementSource || (ResponseCapabilityRequirementSource = {}));
37
+ export var ResponseUnitLocationSource;
38
+ (function (ResponseUnitLocationSource) {
39
+ ResponseUnitLocationSource["LIVE"] = "LIVE";
40
+ ResponseUnitLocationSource["BASE"] = "BASE";
41
+ ResponseUnitLocationSource["NONE"] = "NONE";
42
+ })(ResponseUnitLocationSource || (ResponseUnitLocationSource = {}));
43
+ export var ResponseUnitLocationFreshness;
44
+ (function (ResponseUnitLocationFreshness) {
45
+ ResponseUnitLocationFreshness["CURRENT"] = "CURRENT";
46
+ ResponseUnitLocationFreshness["STALE"] = "STALE";
47
+ ResponseUnitLocationFreshness["UNKNOWN"] = "UNKNOWN";
48
+ })(ResponseUnitLocationFreshness || (ResponseUnitLocationFreshness = {}));
49
+ export var ResponseUnitDistanceBasis;
50
+ (function (ResponseUnitDistanceBasis) {
51
+ ResponseUnitDistanceBasis["STRAIGHT_LINE"] = "STRAIGHT_LINE";
52
+ ResponseUnitDistanceBasis["ROAD_ROUTE"] = "ROAD_ROUTE";
53
+ })(ResponseUnitDistanceBasis || (ResponseUnitDistanceBasis = {}));
54
+ /** Why a unit cannot be dispatched (blockers) or is not recommended (cautions). */
55
+ export var ResponseUnitDispatchConstraint;
56
+ (function (ResponseUnitDispatchConstraint) {
57
+ ResponseUnitDispatchConstraint["INACTIVE"] = "INACTIVE";
58
+ ResponseUnitDispatchConstraint["OPERATIONALLY_UNAVAILABLE"] = "OPERATIONALLY_UNAVAILABLE";
59
+ ResponseUnitDispatchConstraint["ENGAGED"] = "ENGAGED";
60
+ ResponseUnitDispatchConstraint["ALREADY_DISPATCHED"] = "ALREADY_DISPATCHED";
61
+ ResponseUnitDispatchConstraint["OTHER_CONTROL_CENTRE"] = "OTHER_CONTROL_CENTRE";
62
+ ResponseUnitDispatchConstraint["CAPABILITY_REQUIRED"] = "CAPABILITY_REQUIRED";
63
+ ResponseUnitDispatchConstraint["NOT_SUITED"] = "NOT_SUITED";
64
+ ResponseUnitDispatchConstraint["NO_LOCATION"] = "NO_LOCATION";
65
+ ResponseUnitDispatchConstraint["LOCATION_STALE"] = "LOCATION_STALE";
66
+ ResponseUnitDispatchConstraint["OUTSIDE_SEARCH_AREA"] = "OUTSIDE_SEARCH_AREA";
67
+ })(ResponseUnitDispatchConstraint || (ResponseUnitDispatchConstraint = {}));
68
+ export var ResponseUnitRecommendationReason;
69
+ (function (ResponseUnitRecommendationReason) {
70
+ ResponseUnitRecommendationReason["AVAILABLE"] = "AVAILABLE";
71
+ ResponseUnitRecommendationReason["CAPABILITY_MATCH"] = "CAPABILITY_MATCH";
72
+ ResponseUnitRecommendationReason["NO_CAPABILITY_REQUIREMENT"] = "NO_CAPABILITY_REQUIREMENT";
73
+ ResponseUnitRecommendationReason["CAPABILITY_UNKNOWN"] = "CAPABILITY_UNKNOWN";
74
+ ResponseUnitRecommendationReason["SAME_CONTROL_CENTRE"] = "SAME_CONTROL_CENTRE";
75
+ ResponseUnitRecommendationReason["OTHER_CONTROL_CENTRE"] = "OTHER_CONTROL_CENTRE";
76
+ ResponseUnitRecommendationReason["LIVE_LOCATION_CURRENT"] = "LIVE_LOCATION_CURRENT";
77
+ ResponseUnitRecommendationReason["LIVE_LOCATION_STALE"] = "LIVE_LOCATION_STALE";
78
+ ResponseUnitRecommendationReason["BASE_LOCATION"] = "BASE_LOCATION";
79
+ ResponseUnitRecommendationReason["NEAREST"] = "NEAREST";
80
+ ResponseUnitRecommendationReason["QUICKEST"] = "QUICKEST";
81
+ })(ResponseUnitRecommendationReason || (ResponseUnitRecommendationReason = {}));
82
+ /**
83
+ * NO_UNITS_CONFIGURED hides the dispatch panel (this control room has no units);
84
+ * NO_ELIGIBLE_UNITS is an alarm (it has units and none can go).
85
+ */
86
+ export var ResponseUnitRecommendationStatus;
87
+ (function (ResponseUnitRecommendationStatus) {
88
+ ResponseUnitRecommendationStatus["RECOMMENDED"] = "RECOMMENDED";
89
+ ResponseUnitRecommendationStatus["NO_RECOMMENDATION"] = "NO_RECOMMENDATION";
90
+ ResponseUnitRecommendationStatus["NO_ELIGIBLE_UNITS"] = "NO_ELIGIBLE_UNITS";
91
+ ResponseUnitRecommendationStatus["NO_UNITS_CONFIGURED"] = "NO_UNITS_CONFIGURED";
92
+ ResponseUnitRecommendationStatus["NOT_DISPATCHABLE"] = "NOT_DISPATCHABLE";
93
+ })(ResponseUnitRecommendationStatus || (ResponseUnitRecommendationStatus = {}));
94
+ export var IncidentDispatchBlocker;
95
+ (function (IncidentDispatchBlocker) {
96
+ IncidentDispatchBlocker["INCIDENT_ENDED"] = "INCIDENT_ENDED";
97
+ IncidentDispatchBlocker["NOT_AN_EMERGENCY_INCIDENT"] = "NOT_AN_EMERGENCY_INCIDENT";
98
+ IncidentDispatchBlocker["PROVIDER_RESPONSE_NOT_REQUESTED"] = "PROVIDER_RESPONSE_NOT_REQUESTED";
99
+ IncidentDispatchBlocker["DISPATCH_DISABLED"] = "DISPATCH_DISABLED";
100
+ })(IncidentDispatchBlocker || (IncidentDispatchBlocker = {}));
101
+ export var ResponseUnitDispatchNotificationStatus;
102
+ (function (ResponseUnitDispatchNotificationStatus) {
103
+ ResponseUnitDispatchNotificationStatus["PENDING"] = "PENDING";
104
+ ResponseUnitDispatchNotificationStatus["SENT"] = "SENT";
105
+ ResponseUnitDispatchNotificationStatus["FAILED"] = "FAILED";
106
+ ResponseUnitDispatchNotificationStatus["NOT_POSSIBLE"] = "NOT_POSSIBLE";
107
+ })(ResponseUnitDispatchNotificationStatus || (ResponseUnitDispatchNotificationStatus = {}));
108
+ export var ResponseUnitDispatchNotificationFailure;
109
+ (function (ResponseUnitDispatchNotificationFailure) {
110
+ ResponseUnitDispatchNotificationFailure["NO_PHONE_NUMBER"] = "NO_PHONE_NUMBER";
111
+ ResponseUnitDispatchNotificationFailure["INVALID_PHONE_NUMBER"] = "INVALID_PHONE_NUMBER";
112
+ ResponseUnitDispatchNotificationFailure["PROVIDER_FAILURE"] = "PROVIDER_FAILURE";
113
+ ResponseUnitDispatchNotificationFailure["NOT_CONFIGURED"] = "NOT_CONFIGURED";
114
+ ResponseUnitDispatchNotificationFailure["NO_RESPONSE"] = "NO_RESPONSE";
115
+ })(ResponseUnitDispatchNotificationFailure || (ResponseUnitDispatchNotificationFailure = {}));
116
+ /** The `code` on a refused request (the gateway returns it under `details`). */
117
+ export var ResponseUnitDispatchErrorCode;
118
+ (function (ResponseUnitDispatchErrorCode) {
119
+ ResponseUnitDispatchErrorCode["INCIDENT_NOT_DISPATCHABLE"] = "INCIDENT_NOT_DISPATCHABLE";
120
+ ResponseUnitDispatchErrorCode["RESPONSE_UNIT_NOT_FOUND"] = "RESPONSE_UNIT_NOT_FOUND";
121
+ ResponseUnitDispatchErrorCode["RESPONSE_UNIT_NOT_DISPATCHABLE"] = "RESPONSE_UNIT_NOT_DISPATCHABLE";
122
+ ResponseUnitDispatchErrorCode["RESPONSE_UNIT_ENGAGED"] = "RESPONSE_UNIT_ENGAGED";
123
+ ResponseUnitDispatchErrorCode["RESPONSE_UNIT_ALREADY_DISPATCHED"] = "RESPONSE_UNIT_ALREADY_DISPATCHED";
124
+ ResponseUnitDispatchErrorCode["IDEMPOTENCY_KEY_REUSED"] = "IDEMPOTENCY_KEY_REUSED";
125
+ ResponseUnitDispatchErrorCode["DISPATCH_NOT_FOUND"] = "DISPATCH_NOT_FOUND";
126
+ ResponseUnitDispatchErrorCode["INVALID_STATUS_TRANSITION"] = "INVALID_STATUS_TRANSITION";
127
+ ResponseUnitDispatchErrorCode["NOTIFICATION_NOT_RESENDABLE"] = "NOTIFICATION_NOT_RESENDABLE";
128
+ ResponseUnitDispatchErrorCode["ORGANIZATION_UNAVAILABLE"] = "ORGANIZATION_UNAVAILABLE";
129
+ })(ResponseUnitDispatchErrorCode || (ResponseUnitDispatchErrorCode = {}));
130
+ //# sourceMappingURL=response-unit-dispatch-enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-unit-dispatch-enums.js","sourceRoot":"","sources":["../../../../../src/modules/dispatch/enums/response-unit-dispatch-enums.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ // Enums
2
+ export * from './enums/response-unit-dispatch-enums';
3
+ // Interfaces
4
+ export * from './interfaces/response-unit-dispatch.dto';
5
+ // Utilities
6
+ export * from './utils/response-unit-dispatch-display.util';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dispatch/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,sCAAsC,CAAC;AAErD,aAAa;AACb,cAAc,yCAAyC,CAAC;AAExD,YAAY;AACZ,cAAc,6CAA6C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=response-unit-dispatch.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-unit-dispatch.dto.js","sourceRoot":"","sources":["../../../../../src/modules/dispatch/interfaces/response-unit-dispatch.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,188 @@
1
+ import { ResponseCapability, ResponseUnitAvailability } from '../../response-unit/enums/response-unit/response-capability.enum';
2
+ import { IncidentDispatchBlocker, ResponseUnitDispatchConstraint, ResponseUnitDispatchNotificationFailure, ResponseUnitDispatchNotificationStatus, ResponseUnitDispatchStatus, ResponseUnitLocationFreshness, ResponseUnitLocationSource, ResponseUnitRecommendationReason, } from '../enums/response-unit-dispatch-enums';
3
+ /*
4
+ * How dispatch reads on screen. In the shared package, as for partner
5
+ * dispatches, so the incident card, the dispatch history and any future
6
+ * dispatch board name the same state the same way.
7
+ */
8
+ export const RESPONSE_CAPABILITY_LABELS = {
9
+ [ResponseCapability.MEDICAL_RESPONSE]: 'Medical response',
10
+ [ResponseCapability.SECURITY_RESPONSE]: 'Security response',
11
+ [ResponseCapability.FIRE_RESPONSE]: 'Fire response',
12
+ [ResponseCapability.ROADSIDE_ASSISTANCE]: 'Roadside assistance',
13
+ };
14
+ export const RESPONSE_UNIT_AVAILABILITY_LABELS = {
15
+ [ResponseUnitAvailability.AVAILABLE]: 'Available',
16
+ [ResponseUnitAvailability.ENGAGED]: 'Engaged',
17
+ [ResponseUnitAvailability.UNAVAILABLE]: 'Unavailable',
18
+ [ResponseUnitAvailability.INACTIVE]: 'Inactive',
19
+ };
20
+ export const RESPONSE_UNIT_DISPATCH_STATUS_LABELS = {
21
+ [ResponseUnitDispatchStatus.DISPATCHED]: 'Dispatched',
22
+ [ResponseUnitDispatchStatus.ACKNOWLEDGED]: 'Acknowledged',
23
+ [ResponseUnitDispatchStatus.EN_ROUTE]: 'En route',
24
+ [ResponseUnitDispatchStatus.ON_SCENE]: 'On scene',
25
+ [ResponseUnitDispatchStatus.COMPLETED]: 'Completed',
26
+ // "Stood down", the control-room word: the unit was recalled, not "cancelled".
27
+ [ResponseUnitDispatchStatus.CANCELLED]: 'Stood down',
28
+ };
29
+ /** Why a unit cannot go, or is not suggested - as the dispatcher reads it. */
30
+ export const RESPONSE_UNIT_DISPATCH_CONSTRAINT_LABELS = {
31
+ [ResponseUnitDispatchConstraint.INACTIVE]: 'Switched off',
32
+ [ResponseUnitDispatchConstraint.OPERATIONALLY_UNAVAILABLE]: 'Not operational',
33
+ [ResponseUnitDispatchConstraint.ENGAGED]: 'Out on another incident',
34
+ [ResponseUnitDispatchConstraint.ALREADY_DISPATCHED]: 'Already dispatched here',
35
+ [ResponseUnitDispatchConstraint.OTHER_CONTROL_CENTRE]: 'Another control centre',
36
+ [ResponseUnitDispatchConstraint.CAPABILITY_REQUIRED]: 'Not equipped for this incident',
37
+ [ResponseUnitDispatchConstraint.NOT_SUITED]: 'Not suited to this incident type',
38
+ [ResponseUnitDispatchConstraint.NO_LOCATION]: 'Location unavailable',
39
+ [ResponseUnitDispatchConstraint.LOCATION_STALE]: 'Location out of date',
40
+ [ResponseUnitDispatchConstraint.OUTSIDE_SEARCH_AREA]: 'Outside the search area',
41
+ };
42
+ export const INCIDENT_DISPATCH_BLOCKER_LABELS = {
43
+ [IncidentDispatchBlocker.INCIDENT_ENDED]: 'This incident has ended.',
44
+ [IncidentDispatchBlocker.NOT_AN_EMERGENCY_INCIDENT]: 'Units are dispatched to emergency incidents only.',
45
+ [IncidentDispatchBlocker.PROVIDER_RESPONSE_NOT_REQUESTED]: 'A provider response was not requested for this alert.',
46
+ [IncidentDispatchBlocker.DISPATCH_DISABLED]: 'Response-unit dispatch is switched off.',
47
+ };
48
+ export const RESPONSE_UNIT_DISPATCH_NOTIFICATION_STATUS_LABELS = {
49
+ [ResponseUnitDispatchNotificationStatus.PENDING]: 'SMS sending',
50
+ [ResponseUnitDispatchNotificationStatus.SENT]: 'SMS sent',
51
+ [ResponseUnitDispatchNotificationStatus.FAILED]: 'SMS failed',
52
+ [ResponseUnitDispatchNotificationStatus.NOT_POSSIBLE]: 'No SMS',
53
+ };
54
+ export const RESPONSE_UNIT_DISPATCH_NOTIFICATION_FAILURE_LABELS = {
55
+ [ResponseUnitDispatchNotificationFailure.NO_PHONE_NUMBER]: 'The unit has no phone number - contact it by radio.',
56
+ [ResponseUnitDispatchNotificationFailure.INVALID_PHONE_NUMBER]: "The unit's phone number cannot receive SMS.",
57
+ [ResponseUnitDispatchNotificationFailure.PROVIDER_FAILURE]: 'The SMS provider could not deliver it.',
58
+ [ResponseUnitDispatchNotificationFailure.NOT_CONFIGURED]: 'SMS is not set up for this number.',
59
+ [ResponseUnitDispatchNotificationFailure.NO_RESPONSE]: 'Delivery was not confirmed.',
60
+ };
61
+ /** Where each dispatch may be moved next (forward only; steps may be skipped). */
62
+ export const RESPONSE_UNIT_DISPATCH_NEXT_STATUSES = {
63
+ [ResponseUnitDispatchStatus.DISPATCHED]: [
64
+ ResponseUnitDispatchStatus.ACKNOWLEDGED,
65
+ ResponseUnitDispatchStatus.EN_ROUTE,
66
+ ResponseUnitDispatchStatus.ON_SCENE,
67
+ ResponseUnitDispatchStatus.COMPLETED,
68
+ ResponseUnitDispatchStatus.CANCELLED,
69
+ ],
70
+ [ResponseUnitDispatchStatus.ACKNOWLEDGED]: [
71
+ ResponseUnitDispatchStatus.EN_ROUTE,
72
+ ResponseUnitDispatchStatus.ON_SCENE,
73
+ ResponseUnitDispatchStatus.COMPLETED,
74
+ ResponseUnitDispatchStatus.CANCELLED,
75
+ ],
76
+ [ResponseUnitDispatchStatus.EN_ROUTE]: [
77
+ ResponseUnitDispatchStatus.ON_SCENE,
78
+ ResponseUnitDispatchStatus.COMPLETED,
79
+ ResponseUnitDispatchStatus.CANCELLED,
80
+ ],
81
+ [ResponseUnitDispatchStatus.ON_SCENE]: [ResponseUnitDispatchStatus.COMPLETED, ResponseUnitDispatchStatus.CANCELLED],
82
+ [ResponseUnitDispatchStatus.COMPLETED]: [],
83
+ [ResponseUnitDispatchStatus.CANCELLED]: [],
84
+ };
85
+ export const ACTIVE_RESPONSE_UNIT_DISPATCH_STATUSES = [
86
+ ResponseUnitDispatchStatus.DISPATCHED,
87
+ ResponseUnitDispatchStatus.ACKNOWLEDGED,
88
+ ResponseUnitDispatchStatus.EN_ROUTE,
89
+ ResponseUnitDispatchStatus.ON_SCENE,
90
+ ];
91
+ export function isActiveResponseUnitDispatch(status) {
92
+ return !!status && ACTIVE_RESPONSE_UNIT_DISPATCH_STATUSES.includes(status);
93
+ }
94
+ /** "850 m", "2.4 km", "38 km". */
95
+ export function formatDispatchDistance(metres) {
96
+ if (metres === null || metres === undefined || !Number.isFinite(metres))
97
+ return '';
98
+ if (metres < 1000)
99
+ return `${Math.round(metres / 10) * 10} m`;
100
+ if (metres < 10000)
101
+ return `${(metres / 1000).toFixed(1)} km`;
102
+ return `${Math.round(metres / 1000)} km`;
103
+ }
104
+ /** "18 sec ago", "4 min ago", "2 h ago". */
105
+ export function formatDispatchAge(seconds) {
106
+ if (seconds === null || seconds === undefined || !Number.isFinite(seconds))
107
+ return '';
108
+ const value = Math.max(0, Math.round(seconds));
109
+ if (value < 60)
110
+ return `${value} sec ago`;
111
+ if (value < 3600)
112
+ return `${Math.floor(value / 60)} min ago`;
113
+ if (value < 86400)
114
+ return `${Math.floor(value / 3600)} h ago`;
115
+ return `${Math.floor(value / 86400)} d ago`;
116
+ }
117
+ /** "7 min", "1 h 05 min". */
118
+ export function formatDispatchDuration(seconds) {
119
+ if (seconds === null || seconds === undefined || !Number.isFinite(seconds))
120
+ return '';
121
+ const minutes = Math.max(1, Math.round(seconds / 60));
122
+ if (minutes < 60)
123
+ return `${minutes} min`;
124
+ return `${Math.floor(minutes / 60)} h ${String(minutes % 60).padStart(2, '0')} min`;
125
+ }
126
+ /** A candidate's position, as one short phrase: "Live 18 sec ago", "Live, out of date (6 min ago)", "Base location". */
127
+ export function describeCandidateLocation(candidate, ageSeconds = candidate.location.ageSeconds) {
128
+ const location = candidate.location;
129
+ if (location.source === ResponseUnitLocationSource.LIVE) {
130
+ if (location.freshness === ResponseUnitLocationFreshness.CURRENT)
131
+ return `Location updated ${formatDispatchAge(ageSeconds)}`;
132
+ if (location.freshness === ResponseUnitLocationFreshness.STALE)
133
+ return `Location out of date (${formatDispatchAge(ageSeconds)})`;
134
+ return candidate.constraints.includes(ResponseUnitDispatchConstraint.OUTSIDE_SEARCH_AREA)
135
+ ? 'Outside the search area'
136
+ : 'Location unavailable';
137
+ }
138
+ if (location.source === ResponseUnitLocationSource.BASE)
139
+ return 'At base location (not live-tracked)';
140
+ return 'Location unavailable';
141
+ }
142
+ /**
143
+ * The "Recommended because" lines, from the reasons and the numbers behind
144
+ * them. Never the scoring - the facts it rests on, in the order it weighs them.
145
+ */
146
+ export function explainRecommendation(candidate, ageSeconds = candidate.location.ageSeconds) {
147
+ var _a;
148
+ const lines = [];
149
+ for (const reason of candidate.reasons) {
150
+ switch (reason) {
151
+ case ResponseUnitRecommendationReason.AVAILABLE:
152
+ lines.push('Available');
153
+ break;
154
+ case ResponseUnitRecommendationReason.CAPABILITY_MATCH:
155
+ lines.push(`Suited: ${candidate.matchedCapabilities.map((c) => { var _a; return (_a = RESPONSE_CAPABILITY_LABELS[c]) !== null && _a !== void 0 ? _a : c; }).join(', ')}`);
156
+ break;
157
+ case ResponseUnitRecommendationReason.CAPABILITY_UNKNOWN:
158
+ lines.push('Capabilities not configured');
159
+ break;
160
+ case ResponseUnitRecommendationReason.SAME_CONTROL_CENTRE:
161
+ lines.push("This incident's control centre");
162
+ break;
163
+ case ResponseUnitRecommendationReason.OTHER_CONTROL_CENTRE:
164
+ lines.push('From another control centre');
165
+ break;
166
+ case ResponseUnitRecommendationReason.LIVE_LOCATION_CURRENT:
167
+ case ResponseUnitRecommendationReason.LIVE_LOCATION_STALE:
168
+ case ResponseUnitRecommendationReason.BASE_LOCATION:
169
+ lines.push(describeCandidateLocation(candidate, ageSeconds));
170
+ break;
171
+ case ResponseUnitRecommendationReason.NEAREST:
172
+ lines.push(`Nearest: ${formatDispatchDistance(candidate.distanceMetres)} away`);
173
+ break;
174
+ case ResponseUnitRecommendationReason.QUICKEST:
175
+ lines.push(`Quickest: ${formatDispatchDuration((_a = candidate.travel) === null || _a === void 0 ? void 0 : _a.durationSeconds)} by road`);
176
+ break;
177
+ default:
178
+ // NO_CAPABILITY_REQUIREMENT says nothing worth a line.
179
+ break;
180
+ }
181
+ }
182
+ return lines;
183
+ }
184
+ /** The reasons a unit cannot go or is not suggested, as labels. */
185
+ export function describeCandidateConstraints(candidate) {
186
+ return candidate.constraints.map((constraint) => { var _a; return (_a = RESPONSE_UNIT_DISPATCH_CONSTRAINT_LABELS[constraint]) !== null && _a !== void 0 ? _a : constraint; });
187
+ }
188
+ //# sourceMappingURL=response-unit-dispatch-display.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-unit-dispatch-display.util.js","sourceRoot":"","sources":["../../../../../src/modules/dispatch/utils/response-unit-dispatch-display.util.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export var IncidentActions;
8
8
  IncidentActions["ON_HOLD"] = "On Hold";
9
9
  IncidentActions["ASSIGNED"] = "Assigned";
10
10
  IncidentActions["RESPONSE_UNIT_ASSIGNED"] = "Response Unit Assigned";
11
+ IncidentActions["RESPONSE_UNIT_DISPATCHED"] = "Response Unit Dispatched";
12
+ IncidentActions["RESPONSE_UNIT_DISPATCH_UPDATED"] = "Response Unit Dispatch Updated";
11
13
  IncidentActions["REOPENED"] = "Reopened";
12
14
  IncidentActions["REPORT_CREATED"] = "Report Created";
13
15
  IncidentActions["COMMENTED"] = "Commented";
@@ -1 +1 @@
1
- {"version":3,"file":"incident-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident/enums/incident-actions.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAgBX;AAhBD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,oDAAiC,CAAA;IACjC,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,oEAAiD,CAAA;IACjD,wCAAqB,CAAA;IACrB,oDAAiC,CAAA;IACjC,0CAAuB,CAAA;IACvB,wDAAqC,CAAA;IACrC,gDAA6B,CAAA;IAC7B,iEAA8C,CAAA;IAC9C,0CAAuB,CAAA;AAC3B,CAAC,EAhBW,eAAe,KAAf,eAAe,QAgB1B"}
1
+ {"version":3,"file":"incident-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident/enums/incident-actions.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAkBX;AAlBD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,oDAAiC,CAAA;IACjC,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,oEAAiD,CAAA;IACjD,wEAAqD,CAAA;IACrD,oFAAiE,CAAA;IACjE,wCAAqB,CAAA;IACrB,oDAAiC,CAAA;IACjC,0CAAuB,CAAA;IACvB,wDAAqC,CAAA;IACrC,gDAA6B,CAAA;IAC7B,iEAA8C,CAAA;IAC9C,0CAAuB,CAAA;AAC3B,CAAC,EAlBW,eAAe,KAAf,eAAe,QAkB1B"}
@@ -15,4 +15,6 @@ export * from './interfaces/notification-dispatch-result';
15
15
  export * from './interfaces/organization-notification-settings.dto';
16
16
  // Utilities
17
17
  export * from './utils/notification-sender.util';
18
+ // Notification Analytics (GET /notifications/admin/analytics)
19
+ export * from './interfaces/notification-analytics';
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/notification/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AAEpD,4CAA4C;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAE1D,kEAAkE;AAClE,cAAc,qDAAqD,CAAC;AAEpE,YAAY;AACZ,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/notification/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AAEpD,4CAA4C;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAE1D,kEAAkE;AAClE,cAAc,qDAAqD,CAAC;AAEpE,YAAY;AACZ,cAAc,kCAAkC,CAAC;AAEjD,8DAA8D;AAC9D,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Notification analytics (the admin's Notification Analytics): what Clarion sent people
3
+ * over a period, on every channel - push to the app, the console's in-app notifications,
4
+ * SMS and email - whether it got through, whether it was opened, and how many people a
5
+ * push can reach at all.
6
+ *
7
+ * One read, computed by clarion-notification from one consistent snapshot, with who each
8
+ * recipient is from clarion-authentication. Counts, rates and durations only: never a
9
+ * title, a message, a phone number or an address.
10
+ *
11
+ * DURATIONS ARE IN SECONDS, like every analytics contract.
12
+ *
13
+ * How it is counted:
14
+ * - Everything by when it was CREATED - the moment Clarion decided to tell somebody.
15
+ * - Whose it is: the organization recorded on it; for a push, the organization of the
16
+ * post it announces, then the recipient's; for an SMS, the recipient's. Older SMS and
17
+ * email (before 21 September 2026) recorded no organization and often no recipient:
18
+ * those are counted only in the platform view (`unattributed`).
19
+ * - Got through: accepted by the provider - Firebase for a push, the SMS gateway, the
20
+ * mail service - or, in the console, delivered. Nothing reports whether an SMS or an
21
+ * email was read, so only push (tapped) and in-app (read) have an open rate.
22
+ * - A country narrows push, in-app and devices by the recipient's country and SMS by
23
+ * the number's; email has no country and is never narrowed.
24
+ */
25
+ export {};
26
+ //# sourceMappingURL=notification-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-analytics.js","sourceRoot":"","sources":["../../../../../src/modules/notification/interfaces/notification-analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -79,6 +79,12 @@ export var PermissionActions;
79
79
  PermissionActions["READ_TRACKING_HISTORY"] = "read:tracking-history";
80
80
  PermissionActions["READ_TRACKING_OPERATIONS"] = "read:tracking-operations";
81
81
  PermissionActions["MANAGE_TRACKING_OPERATIONS"] = "manage:tracking-operations";
82
+ // Module: Response Unit Dispatch - the recommendation, sending a unit, and
83
+ // recording its progress. Deliberately not update:incident, which every app
84
+ // user holds.
85
+ PermissionActions["READ_RESPONSE_UNIT_DISPATCH"] = "read:response-unit-dispatch";
86
+ PermissionActions["CREATE_RESPONSE_UNIT_DISPATCH"] = "create:response-unit-dispatch";
87
+ PermissionActions["UPDATE_RESPONSE_UNIT_DISPATCH"] = "update:response-unit-dispatch";
82
88
  // Module: Support
83
89
  //
84
90
  // Mirrors grm-shared-library exactly, values included: the admin gates its
@@ -125,6 +131,9 @@ export var PermissionActions;
125
131
  // emails are branded, the address they are sent from, and the sender ID its
126
132
  // SMS arrive under - one family per thing configured. Mirrors grm-shared-library.
127
133
  PermissionActions["READ_NOTIFICATION_BRANDING"] = "read:notification-branding";
134
+ // Notification Analytics: what went out on every channel and whether it got
135
+ // through - totals only. Held by exactly the roles that read the notification settings.
136
+ PermissionActions["READ_NOTIFICATION_ANALYTICS"] = "read:notification-analytics";
128
137
  PermissionActions["UPDATE_NOTIFICATION_BRANDING"] = "update:notification-branding";
129
138
  PermissionActions["CREATE_NOTIFICATION_EMAIL_SENDER"] = "create:notification-email-sender";
130
139
  PermissionActions["READ_NOTIFICATION_EMAIL_SENDER"] = "read:notification-email-sender";
@@ -1 +1 @@
1
- {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export var PermissionsModule;
9
9
  PermissionsModule["INCIDENT"] = "Grievance";
10
10
  PermissionsModule["RESPONSE_UNIT"] = "Response Unit";
11
11
  PermissionsModule["TRACKING"] = "Tracking";
12
+ PermissionsModule["RESPONSE_UNIT_DISPATCH"] = "Response Unit Dispatch";
12
13
  PermissionsModule["BILLING"] = "Billing";
13
14
  PermissionsModule["NEWSFEED"] = "Newsfeed";
14
15
  PermissionsModule["SUPPORT"] = "Support";
@@ -1 +1 @@
1
- {"version":3,"file":"permissions-moudule.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permissions-moudule.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IACzB,kDAA6B,CAAA;IAC7B,wCAAmB,CAAA;IACnB,sDAAiC,CAAA;IACjC,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,2CAAsB,CAAA;IACtB,oDAA+B,CAAA;IAC/B,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACrB,CAAC,EAjBW,iBAAiB,KAAjB,iBAAiB,QAiB5B"}
1
+ {"version":3,"file":"permissions-moudule.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permissions-moudule.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAkBX;AAlBD,WAAY,iBAAiB;IACzB,kDAA6B,CAAA;IAC7B,wCAAmB,CAAA;IACnB,sDAAiC,CAAA;IACjC,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,2CAAsB,CAAA;IACtB,oDAA+B,CAAA;IAC/B,0CAAqB,CAAA;IACrB,sEAAiD,CAAA;IACjD,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACrB,CAAC,EAlBW,iBAAiB,KAAjB,iBAAiB,QAkB5B"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * What kind of emergency a response unit can answer. Mirrors
3
+ * grm-shared-library's ResponseCapability.
4
+ *
5
+ * A unit with no configured capabilities is treated as having what its type
6
+ * implies (an ambulance is MEDICAL_RESPONSE, a security vehicle
7
+ * SECURITY_RESPONSE), so configuring them is only needed where a unit differs
8
+ * from its type.
9
+ */
10
+ export var ResponseCapability;
11
+ (function (ResponseCapability) {
12
+ ResponseCapability["MEDICAL_RESPONSE"] = "MEDICAL_RESPONSE";
13
+ ResponseCapability["SECURITY_RESPONSE"] = "SECURITY_RESPONSE";
14
+ ResponseCapability["FIRE_RESPONSE"] = "FIRE_RESPONSE";
15
+ ResponseCapability["ROADSIDE_ASSISTANCE"] = "ROADSIDE_ASSISTANCE";
16
+ })(ResponseCapability || (ResponseCapability = {}));
17
+ /** Can a unit be sent right now - from its manual status and its active dispatches. */
18
+ export var ResponseUnitAvailability;
19
+ (function (ResponseUnitAvailability) {
20
+ ResponseUnitAvailability["AVAILABLE"] = "AVAILABLE";
21
+ ResponseUnitAvailability["ENGAGED"] = "ENGAGED";
22
+ ResponseUnitAvailability["UNAVAILABLE"] = "UNAVAILABLE";
23
+ ResponseUnitAvailability["INACTIVE"] = "INACTIVE";
24
+ })(ResponseUnitAvailability || (ResponseUnitAvailability = {}));
25
+ //# sourceMappingURL=response-capability.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-capability.enum.js","sourceRoot":"","sources":["../../../../../../src/modules/response-unit/enums/response-unit/response-capability.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;IACvC,qDAA+B,CAAA;IAC/B,iEAA2C,CAAA;AAC/C,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,uFAAuF;AACvF,MAAM,CAAN,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAChC,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,uDAA2B,CAAA;IAC3B,iDAAqB,CAAA;AACzB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC"}
@@ -12,6 +12,7 @@ export * from './interfaces/vehicle-unit/vehicle-type/fire-vehicle';
12
12
  export * from './interfaces/vehicle-unit/vehicle-type/road-rescue-vehicle';
13
13
  // Enums
14
14
  export * from './enums/response-unit/response-unit-type.enum';
15
+ export * from './enums/response-unit/response-capability.enum';
15
16
  export * from './enums/person-unit/person-unit-category.enum';
16
17
  export * from './enums/person-unit/person-unit-status.enum';
17
18
  export * from './enums/vehicle-unit/vehicle-unit-ownership.enum';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/response-unit/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AACzE,cAAc,yDAAyD,CAAC;AACxE,cAAc,qDAAqD,CAAC;AACpE,cAAc,4DAA4D,CAAC;AAE3E,QAAQ;AACR,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+DAA+D,CAAC;AAC9E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,iEAAiE,CAAC;AAChF,cAAc,iEAAiE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/response-unit/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AACzE,cAAc,yDAAyD,CAAC;AACxE,cAAc,qDAAqD,CAAC;AACpE,cAAc,4DAA4D,CAAC;AAE3E,QAAQ;AACR,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+DAA+D,CAAC;AAC9E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,iEAAiE,CAAC;AAChF,cAAc,iEAAiE,CAAC"}
@@ -25,5 +25,6 @@ export * from './modules/support/index';
25
25
  export * from './modules/safety/index';
26
26
  export * from './modules/billing/index';
27
27
  export * from './modules/newsfeed/index';
28
+ export * from './modules/dispatch/index';
28
29
  export * from './modules/common/interfaces/server-message';
29
30
  export * from './modules/common/interfaces/pagination';