grm-shared-library 1.1.221 → 1.1.223

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 (252) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/kafka/topics.js +17 -1
  4. package/dist/cjs/kafka/topics.js.map +1 -1
  5. package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js +41 -0
  6. package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  7. package/dist/cjs/modules/alert-dispatch/index.js +4 -0
  8. package/dist/cjs/modules/alert-dispatch/index.js.map +1 -1
  9. package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js +3 -0
  10. package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  11. package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js +63 -0
  12. package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  13. package/dist/cjs/modules/common/constants/service.const.js +1 -0
  14. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  15. package/dist/cjs/modules/gis/dtos/private-trip.dto.js +214 -0
  16. package/dist/cjs/modules/gis/dtos/private-trip.dto.js.map +1 -0
  17. package/dist/cjs/modules/gis/dtos/routing.dto.js +251 -0
  18. package/dist/cjs/modules/gis/dtos/routing.dto.js.map +1 -0
  19. package/dist/cjs/modules/gis/dtos/trip-points.dto.js +35 -0
  20. package/dist/cjs/modules/gis/dtos/trip-points.dto.js.map +1 -0
  21. package/dist/cjs/modules/gis/enums/routing.enum.js +29 -0
  22. package/dist/cjs/modules/gis/enums/routing.enum.js.map +1 -0
  23. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js +34 -0
  24. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  25. package/dist/cjs/modules/gis/index.js +8 -0
  26. package/dist/cjs/modules/gis/index.js.map +1 -1
  27. package/dist/cjs/modules/gis/interfaces/routing.js +3 -0
  28. package/dist/cjs/modules/gis/interfaces/routing.js.map +1 -0
  29. package/dist/cjs/modules/gis/interfaces/trip-point.js +3 -0
  30. package/dist/cjs/modules/gis/interfaces/trip-point.js.map +1 -0
  31. package/dist/cjs/modules/gis/interfaces/trip-summary.js +3 -0
  32. package/dist/cjs/modules/gis/interfaces/trip-summary.js.map +1 -0
  33. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js +30 -0
  34. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  35. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js +19 -0
  36. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  37. package/dist/cjs/modules/incident/index.js +1 -0
  38. package/dist/cjs/modules/incident/index.js.map +1 -1
  39. package/dist/cjs/modules/organization/index.js +1 -0
  40. package/dist/cjs/modules/organization/index.js.map +1 -1
  41. package/dist/cjs/modules/organization/interfaces/organization-created-event.js +3 -0
  42. package/dist/cjs/modules/organization/interfaces/organization-created-event.js.map +1 -0
  43. package/dist/cjs/modules/permission/data/permissions.data.js +17 -0
  44. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  45. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +24 -0
  46. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  47. package/dist/cjs/modules/permission/enums/permissions-module.enum.js +2 -0
  48. package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
  49. package/dist/cjs/modules/role/constants/safety-roles.js +46 -0
  50. package/dist/cjs/modules/role/constants/safety-roles.js.map +1 -0
  51. package/dist/cjs/modules/role/data/roles.data.js +55 -6
  52. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  53. package/dist/cjs/modules/role/index.js +1 -0
  54. package/dist/cjs/modules/role/index.js.map +1 -1
  55. package/dist/cjs/modules/safety/constants/follow-me.const.js +137 -0
  56. package/dist/cjs/modules/safety/constants/follow-me.const.js.map +1 -0
  57. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js +51 -0
  58. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  59. package/dist/cjs/modules/safety/constants/safety-integration.const.js +151 -0
  60. package/dist/cjs/modules/safety/constants/safety-integration.const.js.map +1 -0
  61. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js +50 -0
  62. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  63. package/dist/cjs/modules/safety/dtos/follow-me.dto.js +501 -0
  64. package/dist/cjs/modules/safety/dtos/follow-me.dto.js.map +1 -0
  65. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js +245 -0
  66. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  67. package/dist/cjs/modules/safety/dtos/safety-alert-context.dto.js +60 -0
  68. package/dist/cjs/modules/safety/dtos/safety-alert-context.dto.js.map +1 -0
  69. package/dist/cjs/modules/safety/dtos/safety-check.dto.js +170 -0
  70. package/dist/cjs/modules/safety/dtos/safety-check.dto.js.map +1 -0
  71. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js +179 -0
  72. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  73. package/dist/cjs/modules/safety/enums/follow-me.enums.js +237 -0
  74. package/dist/cjs/modules/safety/enums/follow-me.enums.js.map +1 -0
  75. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js +45 -0
  76. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  77. package/dist/cjs/modules/safety/enums/safety-enums.js +98 -0
  78. package/dist/cjs/modules/safety/enums/safety-enums.js.map +1 -0
  79. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js +27 -0
  80. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  81. package/dist/cjs/modules/safety/index.js +42 -0
  82. package/dist/cjs/modules/safety/index.js.map +1 -0
  83. package/dist/cjs/modules/safety/interfaces/follow-me.js +3 -0
  84. package/dist/cjs/modules/safety/interfaces/follow-me.js.map +1 -0
  85. package/dist/cjs/modules/safety/interfaces/safety-alert-context.js +3 -0
  86. package/dist/cjs/modules/safety/interfaces/safety-alert-context.js.map +1 -0
  87. package/dist/cjs/modules/safety/interfaces/safety-check-event.js +3 -0
  88. package/dist/cjs/modules/safety/interfaces/safety-check-event.js.map +1 -0
  89. package/dist/cjs/modules/safety/interfaces/safety-check.js +3 -0
  90. package/dist/cjs/modules/safety/interfaces/safety-check.js.map +1 -0
  91. package/dist/cjs/modules/safety/utils/follow-me-state-machine.js +131 -0
  92. package/dist/cjs/modules/safety/utils/follow-me-state-machine.js.map +1 -0
  93. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js +75 -0
  94. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  95. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js +68 -0
  96. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  97. package/dist/cjs/modules/sms/constants/sms-templates.config.js +24 -0
  98. package/dist/cjs/modules/sms/constants/sms-templates.config.js.map +1 -1
  99. package/dist/cjs/modules/sms/enums/sms-template.enum.js +4 -0
  100. package/dist/cjs/modules/sms/enums/sms-template.enum.js.map +1 -1
  101. package/dist/esm/index.js +1 -0
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/kafka/topics.js +17 -1
  104. package/dist/esm/kafka/topics.js.map +1 -1
  105. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js +37 -0
  106. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  107. package/dist/esm/modules/alert-dispatch/index.js +4 -0
  108. package/dist/esm/modules/alert-dispatch/index.js.map +1 -1
  109. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js +2 -0
  110. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  111. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js +56 -0
  112. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  113. package/dist/esm/modules/common/constants/service.const.js +1 -0
  114. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  115. package/dist/esm/modules/gis/dtos/private-trip.dto.js +205 -0
  116. package/dist/esm/modules/gis/dtos/private-trip.dto.js.map +1 -0
  117. package/dist/esm/modules/gis/dtos/routing.dto.js +241 -0
  118. package/dist/esm/modules/gis/dtos/routing.dto.js.map +1 -0
  119. package/dist/esm/modules/gis/dtos/trip-points.dto.js +31 -0
  120. package/dist/esm/modules/gis/dtos/trip-points.dto.js.map +1 -0
  121. package/dist/esm/modules/gis/enums/routing.enum.js +26 -0
  122. package/dist/esm/modules/gis/enums/routing.enum.js.map +1 -0
  123. package/dist/esm/modules/gis/enums/trip-privacy.enum.js +31 -0
  124. package/dist/esm/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  125. package/dist/esm/modules/gis/index.js +8 -0
  126. package/dist/esm/modules/gis/index.js.map +1 -1
  127. package/dist/esm/modules/gis/interfaces/routing.js +2 -0
  128. package/dist/esm/modules/gis/interfaces/routing.js.map +1 -0
  129. package/dist/esm/modules/gis/interfaces/trip-point.js +2 -0
  130. package/dist/esm/modules/gis/interfaces/trip-point.js.map +1 -0
  131. package/dist/esm/modules/gis/interfaces/trip-summary.js +2 -0
  132. package/dist/esm/modules/gis/interfaces/trip-summary.js.map +1 -0
  133. package/dist/esm/modules/incident/dtos/incident/incident.dto.js +31 -1
  134. package/dist/esm/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  135. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js +16 -0
  136. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  137. package/dist/esm/modules/incident/index.js +1 -0
  138. package/dist/esm/modules/incident/index.js.map +1 -1
  139. package/dist/esm/modules/organization/index.js +1 -0
  140. package/dist/esm/modules/organization/index.js.map +1 -1
  141. package/dist/esm/modules/organization/interfaces/organization-created-event.js +2 -0
  142. package/dist/esm/modules/organization/interfaces/organization-created-event.js.map +1 -0
  143. package/dist/esm/modules/permission/data/permissions.data.js +17 -0
  144. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  145. package/dist/esm/modules/permission/enums/permission-actions.enum.js +24 -0
  146. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  147. package/dist/esm/modules/permission/enums/permissions-module.enum.js +2 -0
  148. package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
  149. package/dist/esm/modules/role/constants/safety-roles.js +43 -0
  150. package/dist/esm/modules/role/constants/safety-roles.js.map +1 -0
  151. package/dist/esm/modules/role/data/roles.data.js +55 -6
  152. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  153. package/dist/esm/modules/role/index.js +1 -0
  154. package/dist/esm/modules/role/index.js.map +1 -1
  155. package/dist/esm/modules/safety/constants/follow-me.const.js +134 -0
  156. package/dist/esm/modules/safety/constants/follow-me.const.js.map +1 -0
  157. package/dist/esm/modules/safety/constants/safety-check-limits.const.js +48 -0
  158. package/dist/esm/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  159. package/dist/esm/modules/safety/constants/safety-integration.const.js +146 -0
  160. package/dist/esm/modules/safety/constants/safety-integration.const.js.map +1 -0
  161. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js +45 -0
  162. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  163. package/dist/esm/modules/safety/dtos/follow-me.dto.js +488 -0
  164. package/dist/esm/modules/safety/dtos/follow-me.dto.js.map +1 -0
  165. package/dist/esm/modules/safety/dtos/safety-admin.dto.js +238 -0
  166. package/dist/esm/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  167. package/dist/esm/modules/safety/dtos/safety-alert-context.dto.js +55 -0
  168. package/dist/esm/modules/safety/dtos/safety-alert-context.dto.js.map +1 -0
  169. package/dist/esm/modules/safety/dtos/safety-check.dto.js +161 -0
  170. package/dist/esm/modules/safety/dtos/safety-check.dto.js.map +1 -0
  171. package/dist/esm/modules/safety/dtos/safety-internal.dto.js +172 -0
  172. package/dist/esm/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  173. package/dist/esm/modules/safety/enums/follow-me.enums.js +234 -0
  174. package/dist/esm/modules/safety/enums/follow-me.enums.js.map +1 -0
  175. package/dist/esm/modules/safety/enums/safety-check-status.enum.js +42 -0
  176. package/dist/esm/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  177. package/dist/esm/modules/safety/enums/safety-enums.js +95 -0
  178. package/dist/esm/modules/safety/enums/safety-enums.js.map +1 -0
  179. package/dist/esm/modules/safety/enums/safety-error-code.enum.js +24 -0
  180. package/dist/esm/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  181. package/dist/esm/modules/safety/index.js +26 -0
  182. package/dist/esm/modules/safety/index.js.map +1 -0
  183. package/dist/esm/modules/safety/interfaces/follow-me.js +2 -0
  184. package/dist/esm/modules/safety/interfaces/follow-me.js.map +1 -0
  185. package/dist/esm/modules/safety/interfaces/safety-alert-context.js +2 -0
  186. package/dist/esm/modules/safety/interfaces/safety-alert-context.js.map +1 -0
  187. package/dist/esm/modules/safety/interfaces/safety-check-event.js +2 -0
  188. package/dist/esm/modules/safety/interfaces/safety-check-event.js.map +1 -0
  189. package/dist/esm/modules/safety/interfaces/safety-check.js +2 -0
  190. package/dist/esm/modules/safety/interfaces/safety-check.js.map +1 -0
  191. package/dist/esm/modules/safety/utils/follow-me-state-machine.js +116 -0
  192. package/dist/esm/modules/safety/utils/follow-me-state-machine.js.map +1 -0
  193. package/dist/esm/modules/safety/utils/safety-check-state-machine.js +67 -0
  194. package/dist/esm/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  195. package/dist/esm/modules/safety/utils/safety-check-timing.util.js +59 -0
  196. package/dist/esm/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  197. package/dist/esm/modules/sms/constants/sms-templates.config.js +24 -0
  198. package/dist/esm/modules/sms/constants/sms-templates.config.js.map +1 -1
  199. package/dist/esm/modules/sms/enums/sms-template.enum.js +4 -0
  200. package/dist/esm/modules/sms/enums/sms-template.enum.js.map +1 -1
  201. package/dist/types/index.d.ts +1 -0
  202. package/dist/types/kafka/topics.d.ts +9 -0
  203. package/dist/types/modules/alert-dispatch/dtos/guardian-audience.dto.d.ts +6 -0
  204. package/dist/types/modules/alert-dispatch/index.d.ts +3 -0
  205. package/dist/types/modules/alert-dispatch/interfaces/guardian-audience.d.ts +23 -0
  206. package/dist/types/modules/alert-dispatch/utils/guardian-audience.util.d.ts +18 -0
  207. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  208. package/dist/types/modules/gis/dtos/private-trip.dto.d.ts +46 -0
  209. package/dist/types/modules/gis/dtos/routing.dto.d.ts +48 -0
  210. package/dist/types/modules/gis/dtos/trip-points.dto.d.ts +5 -0
  211. package/dist/types/modules/gis/enums/routing.enum.d.ts +22 -0
  212. package/dist/types/modules/gis/enums/trip-privacy.enum.d.ts +28 -0
  213. package/dist/types/modules/gis/index.d.ts +8 -0
  214. package/dist/types/modules/gis/interfaces/client-safe-trip.d.ts +8 -0
  215. package/dist/types/modules/gis/interfaces/routing.d.ts +43 -0
  216. package/dist/types/modules/gis/interfaces/trip-point.d.ts +16 -0
  217. package/dist/types/modules/gis/interfaces/trip-summary.d.ts +22 -0
  218. package/dist/types/modules/incident/dtos/incident/incident.dto.d.ts +16 -0
  219. package/dist/types/modules/incident/enums/incident-origin-type.enum.d.ts +14 -0
  220. package/dist/types/modules/incident/index.d.ts +1 -0
  221. package/dist/types/modules/incident/intefaces/incident-category.d.ts +10 -0
  222. package/dist/types/modules/incident/intefaces/incident-type.d.ts +10 -0
  223. package/dist/types/modules/incident/intefaces/incident.d.ts +17 -0
  224. package/dist/types/modules/organization/index.d.ts +1 -0
  225. package/dist/types/modules/organization/interfaces/organization-created-event.d.ts +18 -0
  226. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +7 -0
  227. package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +3 -1
  228. package/dist/types/modules/role/constants/safety-roles.d.ts +24 -0
  229. package/dist/types/modules/role/index.d.ts +1 -0
  230. package/dist/types/modules/safety/constants/follow-me.const.d.ts +120 -0
  231. package/dist/types/modules/safety/constants/safety-check-limits.const.d.ts +47 -0
  232. package/dist/types/modules/safety/constants/safety-integration.const.d.ts +136 -0
  233. package/dist/types/modules/safety/constants/safety-taxonomy.const.d.ts +31 -0
  234. package/dist/types/modules/safety/dtos/follow-me.dto.d.ts +106 -0
  235. package/dist/types/modules/safety/dtos/safety-admin.dto.d.ts +42 -0
  236. package/dist/types/modules/safety/dtos/safety-alert-context.dto.d.ts +14 -0
  237. package/dist/types/modules/safety/dtos/safety-check.dto.d.ts +38 -0
  238. package/dist/types/modules/safety/dtos/safety-internal.dto.d.ts +54 -0
  239. package/dist/types/modules/safety/enums/follow-me.enums.d.ts +218 -0
  240. package/dist/types/modules/safety/enums/safety-check-status.enum.d.ts +40 -0
  241. package/dist/types/modules/safety/enums/safety-enums.d.ts +86 -0
  242. package/dist/types/modules/safety/enums/safety-error-code.enum.d.ts +22 -0
  243. package/dist/types/modules/safety/index.d.ts +20 -0
  244. package/dist/types/modules/safety/interfaces/follow-me.d.ts +339 -0
  245. package/dist/types/modules/safety/interfaces/safety-alert-context.d.ts +8 -0
  246. package/dist/types/modules/safety/interfaces/safety-check-event.d.ts +36 -0
  247. package/dist/types/modules/safety/interfaces/safety-check.d.ts +182 -0
  248. package/dist/types/modules/safety/utils/follow-me-state-machine.d.ts +51 -0
  249. package/dist/types/modules/safety/utils/safety-check-state-machine.d.ts +30 -0
  250. package/dist/types/modules/safety/utils/safety-check-timing.util.d.ts +37 -0
  251. package/dist/types/modules/sms/enums/sms-template.enum.d.ts +4 -0
  252. package/package.json +1 -1
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * Cross-service contracts for the Safety domain. Each value is read by more than
4
+ * one repository - change both sides together.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FOLLOW_ME_REDIS_KEYS = exports.FOLLOW_ME_ROOMS = exports.SAFETY_REALTIME_ROOM_PATTERNS = exports.SAFETY_SOCKET_EVENT = exports.SAFETY_REALTIME_CHANNEL = exports.FOLLOW_ME_TOKEN_HEADER = exports.FOLLOW_ME_MOBILE_ROUTES = exports.FOLLOW_ME_INTERNAL_PATHS = exports.FOLLOW_ME_WORKFLOW = exports.SAFETY_REDIS_KEYS = exports.SAFETY_MOBILE_ROUTES = exports.SAFETY_INTERNAL_PATHS = exports.SAFETY_CHECK_WORKFLOW = exports.SAFETY_INTERNAL_TOKEN_ENV_KEYS = exports.SAFETY_INTERNAL_TOKEN_HEADER = void 0;
8
+ exports.safetyCheckWorkflowId = safetyCheckWorkflowId;
9
+ exports.followMeWorkflowId = followMeWorkflowId;
10
+ /**
11
+ * Header carrying the shared internal service token on the calls that can raise
12
+ * or steer an SOS: workflow-manager -> clarion-safety (advance), clarion-safety
13
+ * -> workflow-manager (start/signal) and clarion-safety -> clarion-incident
14
+ * (create the Safety SOS incident). Same header workflow-manager already
15
+ * requires on its API.
16
+ */
17
+ exports.SAFETY_INTERNAL_TOKEN_HEADER = 'x-internal-service-token';
18
+ /**
19
+ * Env vars the token is read from, in order. `SAFETY_INTERNAL_API_TOKEN` may hold
20
+ * a comma-separated list (rotation); when it is unset every party falls back to
21
+ * `WORKFLOW_MANAGER_API_TOKEN`, which every pod already receives from
22
+ * runtime-secrets. Senders use the FIRST value; receivers accept ANY.
23
+ */
24
+ exports.SAFETY_INTERNAL_TOKEN_ENV_KEYS = ['SAFETY_INTERNAL_API_TOKEN', 'WORKFLOW_MANAGER_API_TOKEN'];
25
+ /** Temporal: the durable Safety Check timer. */
26
+ exports.SAFETY_CHECK_WORKFLOW = {
27
+ /** Registered workflow function name in clarion-workflow-manager. */
28
+ workflowType: 'safetyCheckWorkflow',
29
+ /** Default task queue; overridable with TEMPORAL_SAFETY_TASK_QUEUE. */
30
+ taskQueue: 'safety-check-task-queue',
31
+ /** Signal that wakes the workflow early (extension, check-in, stop, SOS). */
32
+ changedSignal: 'safetyCheckChanged',
33
+ /** Query returning the workflow's view of the next wake time. */
34
+ stateQuery: 'safetyCheckWorkflowState',
35
+ };
36
+ /** Workflow id for a Safety Check. One per check, ever - the id IS the idempotency key. */
37
+ function safetyCheckWorkflowId(safetyCheckId) {
38
+ return `safety-check-${safetyCheckId}`;
39
+ }
40
+ /** Internal HTTP paths (not proxied by the gateway). */
41
+ exports.SAFETY_INTERNAL_PATHS = {
42
+ /** clarion-safety: the one domain step the durable timer drives. */
43
+ advanceCheck: (safetyCheckId) => `/safety/internal/checks/${encodeURIComponent(safetyCheckId)}/advance`,
44
+ /** clarion-workflow-manager: start the timer for a check. */
45
+ startWorkflow: '/safety-checks/workflows',
46
+ /** clarion-workflow-manager: wake the timer early. */
47
+ signalWorkflow: (safetyCheckId) => `/safety-checks/workflows/${encodeURIComponent(safetyCheckId)}/signal`,
48
+ /** clarion-incident: raise the Safety SOS incident (idempotent per origin). */
49
+ createSafetyAlertIncident: '/incidents/safety-alerts',
50
+ /** clarion-incident: which of these incident type ids are platform-managed system types. */
51
+ classifyIncidentTypes: '/incident-types/classify',
52
+ /** clarion-gis private trips (tracked privately until an SOS shares them). */
53
+ createPrivateTrip: '/trips/private',
54
+ tripTrackPoints: (tripId) => `/trips/${encodeURIComponent(tripId)}/track-points`,
55
+ shareTrip: (tripId) => `/trips/${encodeURIComponent(tripId)}/share`,
56
+ stopPrivateTrip: (tripId) => `/trips/${encodeURIComponent(tripId)}/stop-private`,
57
+ tripSummary: (tripId) => `/trips/${encodeURIComponent(tripId)}/summary`,
58
+ };
59
+ /**
60
+ * go_router locations in clarion_mobile that pushes deep-link to. A push route
61
+ * is an APP location, never an API path.
62
+ */
63
+ exports.SAFETY_MOBILE_ROUTES = {
64
+ active: '/safety-check/active',
65
+ prompt: '/safety-check/prompt',
66
+ };
67
+ /** Redis keys clarion-safety owns. */
68
+ exports.SAFETY_REDIS_KEYS = {
69
+ sweeperLock: 'safety:lock:sweeper',
70
+ rateLimit: (userId, bucket) => `safety:rl:${bucket}:${userId}`,
71
+ };
72
+ // --- Follow Me ------------------------------------------------------------------------
73
+ /** Temporal: the durable Follow Me timer (expiry, prompt deadline, ETA checks). */
74
+ exports.FOLLOW_ME_WORKFLOW = {
75
+ workflowType: 'followMeWorkflow',
76
+ /** Shares the Safety task queue and worker with the Safety Check timer. */
77
+ taskQueue: exports.SAFETY_CHECK_WORKFLOW.taskQueue,
78
+ changedSignal: 'followMeChanged',
79
+ stateQuery: 'followMeWorkflowState',
80
+ };
81
+ /** One workflow per session, ever. */
82
+ function followMeWorkflowId(sessionId) {
83
+ return `follow-me-${sessionId}`;
84
+ }
85
+ /** Internal HTTP paths for Follow Me (never proxied by the gateway). */
86
+ exports.FOLLOW_ME_INTERNAL_PATHS = {
87
+ /** clarion-safety: the one step the durable timer drives. */
88
+ advanceSession: (sessionId) => `/safety/internal/follow-me/${encodeURIComponent(sessionId)}/advance`,
89
+ /**
90
+ * clarion-safety: mint a fresh external follow link for one participant, at the
91
+ * moment the SMS is sent. The raw token exists only in this response and the
92
+ * SMS - never on a Kafka topic, never in a log.
93
+ */
94
+ mintExternalLink: (participantId) => `/safety/internal/follow-me/participants/${encodeURIComponent(participantId)}/access-link`,
95
+ /** clarion-workflow-manager. */
96
+ startWorkflow: '/follow-me/workflows',
97
+ signalWorkflow: (sessionId) => `/follow-me/workflows/${encodeURIComponent(sessionId)}/signal`,
98
+ /** clarion-gis routing and places (internal; the gateway exposes the places ones to the app). */
99
+ computeRoute: '/gis/routes/compute',
100
+ placesAutocomplete: '/gis/places/autocomplete',
101
+ placeDetails: '/gis/places/details',
102
+ reverseGeocode: '/gis/places/reverse',
103
+ /** clarion-gis: a page of a trip's recorded points. */
104
+ tripPoints: (tripId) => `/trips/${encodeURIComponent(tripId)}/points`,
105
+ };
106
+ /** App locations for Follow Me pushes (go_router, never API paths). */
107
+ exports.FOLLOW_ME_MOBILE_ROUTES = {
108
+ active: '/follow-me/active',
109
+ prompt: '/follow-me/prompt',
110
+ requests: '/follow-me/requests',
111
+ follow: (sessionId) => `/follow-me/follow/${encodeURIComponent(sessionId)}`,
112
+ };
113
+ /**
114
+ * Header the external follow page sends its token in. The link carries the token
115
+ * in the URL FRAGMENT (`/follow#t=...`), which browsers never send to a server, so
116
+ * it cannot land in a proxy or access log; the page reads it and sends it here.
117
+ */
118
+ exports.FOLLOW_ME_TOKEN_HEADER = 'x-follow-token';
119
+ /**
120
+ * Redis pub/sub channel clarion-safety publishes live Safety events on. The
121
+ * envelope DECLARES its rooms (as support does); clarion-socket validates them
122
+ * against SAFETY_REALTIME_ROOM_PATTERNS and never adds any.
123
+ */
124
+ exports.SAFETY_REALTIME_CHANNEL = 'realtime:safety';
125
+ /** Socket.IO event name clients listen to. */
126
+ exports.SAFETY_SOCKET_EVENT = 'safety.event';
127
+ /** The only rooms a Safety envelope may target. */
128
+ exports.SAFETY_REALTIME_ROOM_PATTERNS = [
129
+ /^user:\d+$/,
130
+ /^followme:org:\d+$/,
131
+ /^followme:cc:\d+:\d+$/,
132
+ ];
133
+ /**
134
+ * Staff rooms that receive a session's live Follow Me updates - ONLY when the user
135
+ * chose to include their provider. clarion-socket admits staff by role:
136
+ * org rooms FOLLOW_ME_ORG_TRACKER_ROLES of that organization, cc rooms
137
+ * FOLLOW_ME_CC_TRACKER_ROLES of that organization and control centre.
138
+ */
139
+ exports.FOLLOW_ME_ROOMS = {
140
+ user: (userId) => `user:${userId}`,
141
+ organization: (organizationId) => `followme:org:${organizationId}`,
142
+ controlCentre: (organizationId, controlCentreId) => `followme:cc:${organizationId}:${controlCentreId}`,
143
+ };
144
+ exports.FOLLOW_ME_REDIS_KEYS = {
145
+ lastLocation: (sessionId) => `safety:fm:last:${sessionId}`,
146
+ routePreview: (token) => `safety:fm:route:${token}`,
147
+ presence: (sessionId, participantId) => `safety:fm:presence:${sessionId}:${participantId}`,
148
+ realtimeThrottle: (sessionId) => `safety:fm:rt:${sessionId}`,
149
+ externalRateLimit: (bucket) => `safety:rl:fm-ext:${bucket}`,
150
+ };
151
+ //# sourceMappingURL=safety-integration.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-integration.const.js","sourceRoot":"","sources":["../../../../../src/modules/safety/constants/safety-integration.const.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SAFETY_ALERTS_TAXONOMY = void 0;
4
+ exports.safetyIncidentTypeCodeFor = safetyIncidentTypeCodeFor;
5
+ exports.isSafetyIncidentTypeCode = isSafetyIncidentTypeCode;
6
+ const safety_enums_1 = require("../enums/safety-enums");
7
+ /**
8
+ * The incident category and types EVERY organization receives - existing ones by
9
+ * migration and reconciliation, new ones on `org.created`. There is no
10
+ * per-organization exception (NAVCDP included).
11
+ *
12
+ * They are SYSTEM rows in clarion-incident (`isSystem = true`, matched by
13
+ * `code`, never by name): hidden from the SOS bottom sheet and from package
14
+ * configuration, immutable through the admin API, and raised only by the
15
+ * safety features themselves.
16
+ *
17
+ * Names are stored once at provisioning; renaming here does not rename existing
18
+ * rows.
19
+ */
20
+ exports.SAFETY_ALERTS_TAXONOMY = {
21
+ code: safety_enums_1.SafetyIncidentCategoryCode.SAFETY_ALERTS,
22
+ name: 'Safety Alerts',
23
+ description: 'SOS alerts raised automatically by Clarion safety features.',
24
+ types: [
25
+ {
26
+ code: safety_enums_1.SafetyIncidentTypeCode.SAFETY_CHECK_SOS,
27
+ name: 'Safety Check SOS',
28
+ description: 'Raised when a user misses a Safety Check check-in or asks for help during one.',
29
+ feature: safety_enums_1.SafetyFeature.SAFETY_CHECK,
30
+ },
31
+ {
32
+ code: safety_enums_1.SafetyIncidentTypeCode.FOLLOW_ME_SOS,
33
+ name: 'Follow Me SOS',
34
+ description: 'Raised by a Follow Me journey.',
35
+ feature: safety_enums_1.SafetyFeature.FOLLOW_ME,
36
+ },
37
+ ],
38
+ };
39
+ /** The incident type a safety feature raises its SOS as. */
40
+ function safetyIncidentTypeCodeFor(feature) {
41
+ const match = exports.SAFETY_ALERTS_TAXONOMY.types.find((type) => type.feature === feature);
42
+ if (!match)
43
+ throw new Error(`No safety incident type for feature ${feature}`);
44
+ return match.code;
45
+ }
46
+ /** True for a code clarion-incident treats as a platform-managed safety type. */
47
+ function isSafetyIncidentTypeCode(code) {
48
+ return !!code && Object.values(safety_enums_1.SafetyIncidentTypeCode).includes(code);
49
+ }
50
+ //# sourceMappingURL=safety-taxonomy.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-taxonomy.const.js","sourceRoot":"","sources":["../../../../../src/modules/safety/constants/safety-taxonomy.const.ts"],"names":[],"mappings":";;;AAkDA,8DAIC;AAGD,4DAEC;AA3DD,wDAA0G;AAgB1G;;;;;;;;;;;;GAYG;AACU,QAAA,sBAAsB,GAAqC;IACpE,IAAI,EAAE,yCAA0B,CAAC,aAAa;IAC9C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6DAA6D;IAC1E,KAAK,EAAE;QACH;YACI,IAAI,EAAE,qCAAsB,CAAC,gBAAgB;YAC7C,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,gFAAgF;YAC7F,OAAO,EAAE,4BAAa,CAAC,YAAY;SACtC;QACD;YACI,IAAI,EAAE,qCAAsB,CAAC,aAAa;YAC1C,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,4BAAa,CAAC,SAAS;SACnC;KACJ;CACJ,CAAC;AAEF,4DAA4D;AAC5D,SAAgB,yBAAyB,CAAC,OAAsB;IAC5D,MAAM,KAAK,GAAG,8BAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,iFAAiF;AACjF,SAAgB,wBAAwB,CAAC,IAA+B;IACpE,OAAO,CAAC,CAAC,IAAI,IAAK,MAAM,CAAC,MAAM,CAAC,qCAAsB,CAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC"}