grm-shared-library 1.1.194 → 1.1.196

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 (216) 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 +3 -0
  4. package/dist/cjs/kafka/topics.js.map +1 -1
  5. package/dist/cjs/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js +15 -7
  6. package/dist/cjs/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js.map +1 -1
  7. package/dist/cjs/modules/alert-dispatch/utils/alert-dispatch.util.js +50 -15
  8. package/dist/cjs/modules/alert-dispatch/utils/alert-dispatch.util.js.map +1 -1
  9. package/dist/cjs/modules/common/constants/service.const.js +1 -0
  10. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  11. package/dist/cjs/modules/entitlement/enums/incident-entitlement-scope.enum.js +16 -5
  12. package/dist/cjs/modules/entitlement/enums/incident-entitlement-scope.enum.js.map +1 -1
  13. package/dist/cjs/modules/partner/constants/partner-defaults.const.js +74 -0
  14. package/dist/cjs/modules/partner/constants/partner-defaults.const.js.map +1 -0
  15. package/dist/cjs/modules/partner/constants/partner-kafka.const.js +20 -0
  16. package/dist/cjs/modules/partner/constants/partner-kafka.const.js.map +1 -0
  17. package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js +101 -0
  18. package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
  19. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js +178 -0
  20. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
  21. package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js +36 -0
  22. package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
  23. package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js +230 -0
  24. package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
  25. package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js +132 -0
  26. package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
  27. package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js +9 -0
  28. package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
  29. package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js +15 -0
  30. package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
  31. package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js +30 -0
  32. package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
  33. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js +18 -0
  34. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
  35. package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js +23 -0
  36. package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
  37. package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js +51 -0
  38. package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
  39. package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js +21 -0
  40. package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
  41. package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js +52 -0
  42. package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
  43. package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js +17 -0
  44. package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
  45. package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js +23 -0
  46. package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
  47. package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js +20 -0
  48. package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
  49. package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js +28 -0
  50. package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
  51. package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js +25 -0
  52. package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
  53. package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js +29 -0
  54. package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
  55. package/dist/cjs/modules/partner/index.js +55 -0
  56. package/dist/cjs/modules/partner/index.js.map +1 -0
  57. package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js +3 -0
  58. package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
  59. package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js +3 -0
  60. package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
  61. package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js +3 -0
  62. package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
  63. package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js +3 -0
  64. package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
  65. package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js +3 -0
  66. package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
  67. package/dist/cjs/modules/partner/interfaces/partner-dispatch.js +3 -0
  68. package/dist/cjs/modules/partner/interfaces/partner-dispatch.js.map +1 -0
  69. package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js +3 -0
  70. package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
  71. package/dist/cjs/modules/partner/interfaces/partner-integration.js +3 -0
  72. package/dist/cjs/modules/partner/interfaces/partner-integration.js.map +1 -0
  73. package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js +3 -0
  74. package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
  75. package/dist/cjs/modules/partner/interfaces/partner-routing-result.js +3 -0
  76. package/dist/cjs/modules/partner/interfaces/partner-routing-result.js.map +1 -0
  77. package/dist/cjs/modules/partner/utils/partner-payload.util.js +116 -0
  78. package/dist/cjs/modules/partner/utils/partner-payload.util.js.map +1 -0
  79. package/dist/cjs/modules/partner/utils/partner-routing.util.js +137 -0
  80. package/dist/cjs/modules/partner/utils/partner-routing.util.js.map +1 -0
  81. package/dist/cjs/modules/permission/data/permissions.data.js +5 -1
  82. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  83. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +10 -0
  84. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  85. package/dist/cjs/modules/role/data/roles.data.js +26 -0
  86. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  87. package/dist/esm/index.js +1 -0
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/kafka/topics.js +3 -0
  90. package/dist/esm/kafka/topics.js.map +1 -1
  91. package/dist/esm/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js +15 -7
  92. package/dist/esm/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js.map +1 -1
  93. package/dist/esm/modules/alert-dispatch/utils/alert-dispatch.util.js +48 -15
  94. package/dist/esm/modules/alert-dispatch/utils/alert-dispatch.util.js.map +1 -1
  95. package/dist/esm/modules/common/constants/service.const.js +1 -0
  96. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  97. package/dist/esm/modules/entitlement/enums/incident-entitlement-scope.enum.js +16 -5
  98. package/dist/esm/modules/entitlement/enums/incident-entitlement-scope.enum.js.map +1 -1
  99. package/dist/esm/modules/partner/constants/partner-defaults.const.js +71 -0
  100. package/dist/esm/modules/partner/constants/partner-defaults.const.js.map +1 -0
  101. package/dist/esm/modules/partner/constants/partner-kafka.const.js +17 -0
  102. package/dist/esm/modules/partner/constants/partner-kafka.const.js.map +1 -0
  103. package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js +97 -0
  104. package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
  105. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js +174 -0
  106. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
  107. package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js +32 -0
  108. package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
  109. package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js +224 -0
  110. package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
  111. package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js +127 -0
  112. package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
  113. package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js +5 -0
  114. package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
  115. package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js +11 -0
  116. package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
  117. package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js +27 -0
  118. package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
  119. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js +15 -0
  120. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
  121. package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js +20 -0
  122. package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
  123. package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js +48 -0
  124. package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
  125. package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js +18 -0
  126. package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
  127. package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js +49 -0
  128. package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
  129. package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js +14 -0
  130. package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
  131. package/dist/esm/modules/partner/enums/partner-integration-status.enum.js +20 -0
  132. package/dist/esm/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
  133. package/dist/esm/modules/partner/enums/partner-location-provider.enum.js +17 -0
  134. package/dist/esm/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
  135. package/dist/esm/modules/partner/enums/partner-provider-code.enum.js +25 -0
  136. package/dist/esm/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
  137. package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js +22 -0
  138. package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
  139. package/dist/esm/modules/partner/enums/partner-service-capability.enum.js +26 -0
  140. package/dist/esm/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
  141. package/dist/esm/modules/partner/index.js +39 -0
  142. package/dist/esm/modules/partner/index.js.map +1 -0
  143. package/dist/esm/modules/partner/interfaces/incident-partner-routing.js +2 -0
  144. package/dist/esm/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
  145. package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js +2 -0
  146. package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
  147. package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js +2 -0
  148. package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
  149. package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js +2 -0
  150. package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
  151. package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js +2 -0
  152. package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
  153. package/dist/esm/modules/partner/interfaces/partner-dispatch.js +2 -0
  154. package/dist/esm/modules/partner/interfaces/partner-dispatch.js.map +1 -0
  155. package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js +2 -0
  156. package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
  157. package/dist/esm/modules/partner/interfaces/partner-integration.js +2 -0
  158. package/dist/esm/modules/partner/interfaces/partner-integration.js.map +1 -0
  159. package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js +2 -0
  160. package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
  161. package/dist/esm/modules/partner/interfaces/partner-routing-result.js +2 -0
  162. package/dist/esm/modules/partner/interfaces/partner-routing-result.js.map +1 -0
  163. package/dist/esm/modules/partner/utils/partner-payload.util.js +109 -0
  164. package/dist/esm/modules/partner/utils/partner-payload.util.js.map +1 -0
  165. package/dist/esm/modules/partner/utils/partner-routing.util.js +127 -0
  166. package/dist/esm/modules/partner/utils/partner-routing.util.js.map +1 -0
  167. package/dist/esm/modules/permission/data/permissions.data.js +5 -1
  168. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  169. package/dist/esm/modules/permission/enums/permission-actions.enum.js +10 -0
  170. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  171. package/dist/esm/modules/role/data/roles.data.js +26 -0
  172. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  173. package/dist/types/index.d.ts +1 -0
  174. package/dist/types/kafka/topics.d.ts +2 -0
  175. package/dist/types/modules/alert-dispatch/enums/incident-dispatch-scope.enum.d.ts +15 -7
  176. package/dist/types/modules/alert-dispatch/interfaces/alert-dispatch.d.ts +13 -0
  177. package/dist/types/modules/alert-dispatch/utils/alert-dispatch.util.d.ts +43 -15
  178. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  179. package/dist/types/modules/entitlement/enums/incident-entitlement-scope.enum.d.ts +17 -6
  180. package/dist/types/modules/incident/intefaces/incident.d.ts +15 -0
  181. package/dist/types/modules/partner/constants/partner-defaults.const.d.ts +60 -0
  182. package/dist/types/modules/partner/constants/partner-kafka.const.d.ts +16 -0
  183. package/dist/types/modules/partner/dtos/create-partner-coverage-rule.dto.d.ts +24 -0
  184. package/dist/types/modules/partner/dtos/create-partner-integration.dto.d.ts +31 -0
  185. package/dist/types/modules/partner/dtos/partner-dispatch-decision.dto.d.ts +11 -0
  186. package/dist/types/modules/partner/dtos/route-incident-to-partners.dto.d.ts +52 -0
  187. package/dist/types/modules/partner/dtos/update-incident-partner-routing.dto.d.ts +34 -0
  188. package/dist/types/modules/partner/dtos/update-partner-coverage-rule.dto.d.ts +5 -0
  189. package/dist/types/modules/partner/dtos/update-partner-integration.dto.d.ts +11 -0
  190. package/dist/types/modules/partner/enums/incident-partner-routing-status.enum.d.ts +25 -0
  191. package/dist/types/modules/partner/enums/partner-adapter-operation.enum.d.ts +13 -0
  192. package/dist/types/modules/partner/enums/partner-coverage-match-type.enum.d.ts +18 -0
  193. package/dist/types/modules/partner/enums/partner-dispatch-failure-reason.enum.d.ts +37 -0
  194. package/dist/types/modules/partner/enums/partner-dispatch-scope.enum.d.ts +16 -0
  195. package/dist/types/modules/partner/enums/partner-dispatch-status.enum.d.ts +37 -0
  196. package/dist/types/modules/partner/enums/partner-integration-environment.enum.d.ts +12 -0
  197. package/dist/types/modules/partner/enums/partner-integration-status.enum.d.ts +18 -0
  198. package/dist/types/modules/partner/enums/partner-location-provider.enum.d.ts +15 -0
  199. package/dist/types/modules/partner/enums/partner-provider-code.enum.d.ts +23 -0
  200. package/dist/types/modules/partner/enums/partner-routing-mode.enum.d.ts +20 -0
  201. package/dist/types/modules/partner/enums/partner-service-capability.enum.d.ts +24 -0
  202. package/dist/types/modules/partner/index.d.ts +33 -0
  203. package/dist/types/modules/partner/interfaces/incident-partner-routing.d.ts +43 -0
  204. package/dist/types/modules/partner/interfaces/partner-connection-test-result.d.ts +22 -0
  205. package/dist/types/modules/partner/interfaces/partner-coverage-rule.d.ts +36 -0
  206. package/dist/types/modules/partner/interfaces/partner-dispatch-events.d.ts +40 -0
  207. package/dist/types/modules/partner/interfaces/partner-dispatch-location.d.ts +13 -0
  208. package/dist/types/modules/partner/interfaces/partner-dispatch.d.ts +119 -0
  209. package/dist/types/modules/partner/interfaces/partner-emergency-contact.d.ts +15 -0
  210. package/dist/types/modules/partner/interfaces/partner-integration.d.ts +63 -0
  211. package/dist/types/modules/partner/interfaces/partner-provider-descriptor.d.ts +56 -0
  212. package/dist/types/modules/partner/interfaces/partner-routing-result.d.ts +24 -0
  213. package/dist/types/modules/partner/utils/partner-payload.util.d.ts +49 -0
  214. package/dist/types/modules/partner/utils/partner-routing.util.d.ts +71 -0
  215. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +4 -0
  216. package/package.json +1 -1
@@ -19,6 +19,11 @@ export const ROLES_DATA = [
19
19
  PermissionActions.READ_PARTNER,
20
20
  PermissionActions.UPDATE_PARTNER,
21
21
  PermissionActions.DELETE_PARTNER,
22
+ //Partner dispatch
23
+ PermissionActions.READ_PARTNER_DISPATCH,
24
+ PermissionActions.APPROVE_PARTNER_DISPATCH,
25
+ PermissionActions.CANCEL_PARTNER_DISPATCH,
26
+ PermissionActions.RESEND_PARTNER_DISPATCH,
22
27
  //control centre
23
28
  PermissionActions.CREATE_CONTROL_CENTRE,
24
29
  PermissionActions.READ_CONTROL_CENTRE,
@@ -65,6 +70,11 @@ export const ROLES_DATA = [
65
70
  PermissionActions.READ_PARTNER,
66
71
  PermissionActions.UPDATE_PARTNER,
67
72
  PermissionActions.DELETE_PARTNER,
73
+ //Partner dispatch
74
+ PermissionActions.READ_PARTNER_DISPATCH,
75
+ PermissionActions.APPROVE_PARTNER_DISPATCH,
76
+ PermissionActions.CANCEL_PARTNER_DISPATCH,
77
+ PermissionActions.RESEND_PARTNER_DISPATCH,
68
78
  //control centre
69
79
  PermissionActions.CREATE_CONTROL_CENTRE,
70
80
  PermissionActions.READ_CONTROL_CENTRE,
@@ -107,6 +117,8 @@ export const ROLES_DATA = [
107
117
  PermissionActions.READ_ORGANIZATION,
108
118
  //Partner
109
119
  PermissionActions.READ_PARTNER,
120
+ //Partner dispatch
121
+ PermissionActions.READ_PARTNER_DISPATCH,
110
122
  //control centre
111
123
  PermissionActions.READ_CONTROL_CENTRE,
112
124
  //Zone
@@ -129,6 +141,13 @@ export const ROLES_DATA = [
129
141
  permissions: [
130
142
  //Organization
131
143
  PermissionActions.READ_ORGANIZATION,
144
+ //Partner dispatch: the control room confirms and withdraws a routed
145
+ //emergency, but does not configure the partnership behind it.
146
+ PermissionActions.READ_PARTNER,
147
+ PermissionActions.READ_PARTNER_DISPATCH,
148
+ PermissionActions.APPROVE_PARTNER_DISPATCH,
149
+ PermissionActions.CANCEL_PARTNER_DISPATCH,
150
+ PermissionActions.RESEND_PARTNER_DISPATCH,
132
151
  //Control Centre
133
152
  PermissionActions.READ_CONTROL_CENTRE,
134
153
  PermissionActions.UPDATE_CONTROL_CENTRE,
@@ -163,6 +182,10 @@ export const ROLES_DATA = [
163
182
  permissions: [
164
183
  //Organization
165
184
  PermissionActions.READ_ORGANIZATION,
185
+ //Partner dispatch: an operator on the desk may confirm a routed
186
+ //emergency; withdrawing one and resending it stay with their admin.
187
+ PermissionActions.READ_PARTNER_DISPATCH,
188
+ PermissionActions.APPROVE_PARTNER_DISPATCH,
166
189
  //Control Centre
167
190
  PermissionActions.READ_CONTROL_CENTRE,
168
191
  //Zone
@@ -187,6 +210,9 @@ export const ROLES_DATA = [
187
210
  permissions: [
188
211
  //Organization
189
212
  PermissionActions.READ_ORGANIZATION,
213
+ //Partner dispatch: a responder sees whether a partner is en route,
214
+ //and changes nothing about it.
215
+ PermissionActions.READ_PARTNER_DISPATCH,
190
216
  //Control Centre
191
217
  PermissionActions.READ_CONTROL_CENTRE,
192
218
  //Zone
@@ -1 +1 @@
1
- {"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export * from './modules/tracking/index';
22
22
  export * from './modules/entitlement/index';
23
23
  export * from './modules/alert-dispatch/index';
24
24
  export * from './modules/system-user/index';
25
+ export * from './modules/partner/index';
25
26
  export * from './interfaces/server-message';
26
27
  export * from './interfaces/i-request-with-user';
27
28
  export * from './interfaces/validated-user';
@@ -53,4 +53,6 @@ export declare const KAFKA_TOPICS: {
53
53
  ORG_RESPONSE_UNIT_DELETED: string;
54
54
  ORG_RESPONSE_UNIT_CONTROL_CENTRE_CHANGED: string;
55
55
  ORG_RESPONSE_UNIT_STATUS_CHANGED: string;
56
+ PARTNER_DISPATCH_CREATED: string;
57
+ PARTNER_DISPATCH_STATUS_CHANGED: string;
56
58
  };
@@ -3,17 +3,25 @@
3
3
  * whether the reporter asked for the service provider to be alerted at all.
4
4
  *
5
5
  * ALL - no dispatch filter (default; preserves legacy behaviour).
6
- * DISPATCHED - only incidents the provider was asked to receive. Used by the
7
- * primary admin incident list, map and kanban views.
6
+ * DISPATCHED - only incidents the reporter asked the provider to receive.
7
+ * Used by the primary admin incident list, map and kanban views.
8
8
  * SUPPRESSED - only incidents the reporter explicitly withheld from the
9
- * provider. Backs the "Incident List - Marked Ignore" admin
10
- * view.
9
+ * provider. Backs the "Marked Ignore" admin views.
10
+ *
11
+ * Both read what the reporter ASKED FOR, not what they got. Entitlement can
12
+ * close the provider channel on its own, and an operator looking at a
13
+ * "Marked Ignore" list wants the alerts somebody chose to withhold - not the
14
+ * ones billing withheld for them.
11
15
  *
12
16
  * Deliberately separate from {@link IncidentEntitlementScope}: entitlement is a
13
17
  * billing fact about the reporter, dispatch is a choice the reporter made on
14
- * this one alert. The two compose - the control room asks for
15
- * `ENTITLED` + `DISPATCHED`, "Marked Ignore" asks for `ENTITLED` + `SUPPRESSED`,
16
- * and "Free Users" asks for `FREE` on the entitlement dimension alone.
18
+ * this one alert. The two compose into the admin's operator views:
19
+ *
20
+ * Incidents (list/map/kanban) ENTITLED + DISPATCHED
21
+ * Incident List - Marked Ignore ENTITLED + SUPPRESSED
22
+ * Incident List - Uncovered Types UNCOVERED_TYPE + DISPATCHED
23
+ * Uncovered Types - Marked Ignore UNCOVERED_TYPE + SUPPRESSED
24
+ * Incident List - Free Users FREE
17
25
  */
18
26
  export declare enum IncidentDispatchScope {
19
27
  ALL = "ALL",
@@ -20,6 +20,19 @@ export interface IncidentAlertDispatch {
20
20
  * chat or notified about the alert.
21
21
  */
22
22
  notifyGuardians?: boolean;
23
+ /**
24
+ * What the reporter actually asked for, before entitlement had its say.
25
+ *
26
+ * Kept apart from `notifyServiceProvider` because that one records the
27
+ * OUTCOME, and once entitlement forces it false the reporter's own choice
28
+ * is no longer recoverable from it. The distinction is the whole basis of
29
+ * the "Marked Ignore" views: an alert billing withheld is not an alert
30
+ * somebody chose to withhold.
31
+ *
32
+ * Absent on incidents raised before the option existed, and on records the
33
+ * option does not govern - both of which count as "did not withhold".
34
+ */
35
+ notifyServiceProviderRequested?: boolean;
23
36
  }
24
37
  /** The inputs {@link resolveIncidentAlertDispatch} decides from. */
25
38
  export interface AlertDispatchRequest extends IncidentAlertDispatch {
@@ -1,6 +1,13 @@
1
+ import { EntitlementDecisionReason } from '../../entitlement/enums/entitlement-decision-reason.enum';
1
2
  import { IncidentEntitlementTier } from '../../entitlement/enums/incident-entitlement-tier.enum';
2
3
  import { IncidentDispatchScope } from '../enums/incident-dispatch-scope.enum';
3
4
  import { AlertDispatchRequest, IncidentAlertDispatch } from '../interfaces/alert-dispatch';
5
+ /** The two entitlement facts an incident carries, as the helpers below read them. */
6
+ export interface IncidentEntitlementFacts {
7
+ entitlementTier?: IncidentEntitlementTier | string | null;
8
+ /** Promoted out of the entitlement snapshot so it can be filtered and indexed. */
9
+ entitlementReason?: EntitlementDecisionReason | string | null;
10
+ }
4
11
  /**
5
12
  * Whether an incident reaches the provider control room - live map, live list,
6
13
  * kanban, operator assignment and operator notifications.
@@ -8,26 +15,43 @@ import { AlertDispatchRequest, IncidentAlertDispatch } from '../interfaces/alert
8
15
  * Two independent reasons keep an alert out, and this is the single place both
9
16
  * are expressed so no consumer can honour one and forget the other:
10
17
  *
11
- * 1. the reporter is a Free user, so the provider was never entitled to it;
12
- * 2. the reporter explicitly unchecked the provider option ("Marked Ignore").
18
+ * 1. the reporter was not entitled to send it (no subscription, or one that
19
+ * does not cover this incident type), so the provider was never asked;
20
+ * 2. the reporter explicitly unchecked the provider option.
13
21
  *
22
+ * Reads `notifyServiceProvider`, the resolved OUTCOME - never the request.
14
23
  * A missing flag counts as dispatched: incidents written before this feature
15
24
  * existed, and every operator-created record, keep their original behaviour.
16
25
  */
17
- export declare function reachesControlRoom(incident: IncidentAlertDispatch & {
18
- entitlementTier?: IncidentEntitlementTier | string | null;
19
- }): boolean;
26
+ export declare function reachesControlRoom(incident: IncidentAlertDispatch & IncidentEntitlementFacts): boolean;
20
27
  /** Whether the reporter's guardians should be pulled in and notified. */
21
28
  export declare function reachesGuardians(incident: IncidentAlertDispatch): boolean;
22
29
  /**
23
- * Whether the reporter deliberately withheld this alert from the provider, as
24
- * opposed to never having been entitled to send it. Only the former belongs in
25
- * the "Marked Ignore" admin list; a Free user's alert belongs in
26
- * "Incident List - Free Users".
30
+ * Whether the reporter deliberately withheld this alert from the provider.
31
+ *
32
+ * Reads the REQUEST, not the outcome. An alert entitlement withheld is not an
33
+ * alert somebody chose to withhold, and only the second belongs in a
34
+ * "Marked Ignore" view - a free user never had the option to decline, so their
35
+ * alert is not "marked ignore" however the resolved flag ended up.
36
+ *
37
+ * Independent of entitlement, so it holds equally for a subscriber who declined
38
+ * on a covered type and one who declined on a type their package excludes.
39
+ * Which of the two Marked Ignore lists they land in is decided by pairing this
40
+ * with the entitlement scope.
27
41
  */
28
- export declare function isMarkedIgnore(incident: IncidentAlertDispatch & {
29
- entitlementTier?: IncidentEntitlementTier | string | null;
30
- }): boolean;
42
+ export declare function isMarkedIgnore(incident: IncidentAlertDispatch & Partial<IncidentEntitlementFacts>): boolean;
43
+ /**
44
+ * Whether the reporter pays for cover, but not for the incident type they
45
+ * raised. Distinct from having no entitlement at all: this is a paying customer
46
+ * finding a gap in their package, not someone to upsell from scratch.
47
+ */
48
+ export declare function isUncoveredIncidentType(incident: IncidentEntitlementFacts): boolean;
49
+ /**
50
+ * Whether the reporter had no entitlement whatsoever - never subscribed,
51
+ * lapsed, or a spent/expired trial. Deliberately excludes the uncovered-type
52
+ * case, which carries the same FREE tier but is a different conversation.
53
+ */
54
+ export declare function isUnentitledReporter(incident: IncidentEntitlementFacts): boolean;
31
55
  /**
32
56
  * Applies dispatch policy to what the client asked for.
33
57
  *
@@ -37,9 +61,13 @@ export declare function isMarkedIgnore(incident: IncidentAlertDispatch & {
37
61
  * defaults to "notify", so existing callers (web admin, older app builds) are
38
62
  * unaffected.
39
63
  *
40
- * Returns resolved flags only - it deliberately does not reject the
41
- * both-off combination, so callers can decide whether that is a validation
42
- * error (the SOS path) or simply nobody to notify.
64
+ * Returns both what was asked for and what will happen, because the two diverge
65
+ * exactly when entitlement overrides the reporter - and that difference is what
66
+ * the admin's Marked Ignore views are built on.
67
+ *
68
+ * It deliberately does not reject the both-off combination, so callers can
69
+ * decide whether that is a validation error (the SOS path) or simply nobody to
70
+ * notify.
43
71
  */
44
72
  export declare function resolveIncidentAlertDispatch(request: AlertDispatchRequest): Required<IncidentAlertDispatch>;
45
73
  /** True when an alert would reach nobody at all. */
@@ -59,4 +59,8 @@ export declare const SERVICE_CONSTS: {
59
59
  name: string;
60
60
  port: number;
61
61
  };
62
+ PARTNER_SERVICE: {
63
+ name: string;
64
+ port: number;
65
+ };
62
66
  };
@@ -1,14 +1,25 @@
1
1
  /**
2
2
  * List filter applied to incident queries.
3
3
  *
4
- * ALL — no entitlement filter (default; preserves legacy behaviour).
5
- * ENTITLED — everything except Free-user incidents. Used by the primary admin
6
- * incident list, map and kanban views.
7
- * FREE — only Free-user incidents. Backs the "Incident List - Free Users"
8
- * admin view.
4
+ * ALL — no entitlement filter (default; preserves legacy behaviour).
5
+ * ENTITLED — everything except incidents the reporter was not entitled
6
+ * to send. Used by the primary admin list, map and kanban.
7
+ * FREE — reporters with no entitlement at all: never subscribed,
8
+ * lapsed, or a spent/expired trial. Backs
9
+ * "Incident List - Free Users".
10
+ * UNCOVERED_TYPE — reporters who DO pay, but whose package excludes the
11
+ * incident type they raised. Backs
12
+ * "Incident List - Uncovered Types".
13
+ *
14
+ * The last two both carry tier FREE, because that is what billing stamps in
15
+ * either case, but they are very different situations for an operator: one is
16
+ * an upsell, the other is a paying customer discovering a gap in their cover.
17
+ * `FREE` therefore excludes uncovered-type incidents rather than absorbing
18
+ * them, so the three scopes partition the data with no overlap and no gaps.
9
19
  */
10
20
  export declare enum IncidentEntitlementScope {
11
21
  ALL = "ALL",
12
22
  ENTITLED = "ENTITLED",
13
- FREE = "FREE"
23
+ FREE = "FREE",
24
+ UNCOVERED_TYPE = "UNCOVERED_TYPE"
14
25
  }
@@ -16,6 +16,7 @@ import { IncidentReport } from "./incident-report";
16
16
  import { IncidentEmergencyType } from "../enums/incident-emergency-type.enum";
17
17
  import { IncidentEntitlementSnapshot } from "../../entitlement/interfaces/entitlement-evaluation";
18
18
  import { IncidentEntitlementTier } from "../../entitlement/enums/incident-entitlement-tier.enum";
19
+ import { EntitlementDecisionReason } from "../../entitlement/enums/entitlement-decision-reason.enum";
19
20
  export interface Incident {
20
21
  id?: number;
21
22
  appId: IncidentAppId;
@@ -57,6 +58,14 @@ export interface Incident {
57
58
  entitlementTier?: IncidentEntitlementTier;
58
59
  /** Point-in-time audit of how `entitlementTier` was decided. */
59
60
  entitlementSnapshot?: IncidentEntitlementSnapshot | null;
61
+ /**
62
+ * Why `entitlementTier` came out the way it did, promoted out of the
63
+ * snapshot so it can be filtered and indexed. It is what separates a
64
+ * reporter with no entitlement at all from a paying one whose package
65
+ * excludes the incident type they raised - both carry tier FREE, but they
66
+ * are different conversations and get their own admin views.
67
+ */
68
+ entitlementReason?: EntitlementDecisionReason;
60
69
  /**
61
70
  * Who the reporter asked to be alerted, resolved against their entitlement
62
71
  * at creation. `false` on the provider flag withholds the incident from the
@@ -66,6 +75,12 @@ export interface Incident {
66
75
  */
67
76
  notifyServiceProvider?: boolean;
68
77
  notifyGuardians?: boolean;
78
+ /**
79
+ * What the reporter asked for before entitlement had its say. The
80
+ * "Marked Ignore" views read this rather than the outcome above: an alert
81
+ * billing withheld is not an alert somebody chose to withhold.
82
+ */
83
+ notifyServiceProviderRequested?: boolean;
69
84
  createdAt?: string;
70
85
  updatedAt?: string;
71
86
  category?: IncidentCategory;
@@ -0,0 +1,60 @@
1
+ import { IncidentChannel } from '../../incident/enums/incident-channel.enum';
2
+ import { PartnerLocationProvider } from '../enums/partner-location-provider.enum';
3
+ /**
4
+ * Platform defaults for third-party partner routing. A deployment overrides
5
+ * these with `PARTNER_*` environment variables and a partnership can override
6
+ * some of them again in its own configuration, so these are the last fallback,
7
+ * not policy.
8
+ */
9
+ export declare const PARTNER_DISPATCH_DEFAULTS: {
10
+ /** Send attempts, including the first, before a transient failure becomes terminal. */
11
+ readonly MAX_ATTEMPTS: 5;
12
+ /** Base of the exponential retry backoff, in seconds: 15s, 30s, 60s, 120s. */
13
+ readonly RETRY_BASE_SECONDS: 15;
14
+ /** Ceiling for the exponential backoff, in seconds. */
15
+ readonly RETRY_MAX_SECONDS: 300;
16
+ /** Per-request timeout for an outbound partner call, in milliseconds. */
17
+ readonly REQUEST_TIMEOUT_MS: 10000;
18
+ /** Timeout for the partner authentication exchange, in milliseconds. */
19
+ readonly AUTH_TIMEOUT_MS: 8000;
20
+ /**
21
+ * How long a MANUAL dispatch waits for a decision before it expires, in
22
+ * minutes. An hour is deliberately generous: an expired ambulance request is
23
+ * a worse outcome than a stale one, and an operator can always cancel.
24
+ */
25
+ readonly APPROVAL_WINDOW_MINUTES: 60;
26
+ /** Order used when a partnership does not set its own. */
27
+ readonly PRIORITY: 100;
28
+ /**
29
+ * Seconds subtracted from a partner token's advertised lifetime before it is
30
+ * treated as expired, so a token can never expire mid-request.
31
+ */
32
+ readonly TOKEN_EXPIRY_SKEW_SECONDS: 60;
33
+ /** Longest a partner access token is cached, whatever lifetime the partner advertises. */
34
+ readonly TOKEN_MAX_CACHE_SECONDS: number;
35
+ };
36
+ /**
37
+ * How an incident's reporting channel is described to a partner.
38
+ *
39
+ * The mobile app takes a platform fused-location fix (GPS plus network and
40
+ * sensors), so APP maps to FUSED rather than the narrower GPS. Every other
41
+ * channel is either a browser geolocation or a location an operator typed in,
42
+ * and NETWORK is the closest honest description of both. A partnership can
43
+ * override the whole map through `locationProviderByChannel` in its
44
+ * configuration.
45
+ */
46
+ export declare const PARTNER_CHANNEL_LOCATION_PROVIDER: Readonly<Record<IncidentChannel, PartnerLocationProvider>>;
47
+ /** Field limits partner APIs impose, applied before a payload is built. */
48
+ export declare const PARTNER_FIELD_LIMITS: {
49
+ readonly ADDRESS_MAX_LENGTH: 500;
50
+ readonly ISSUE_MAX_LENGTH: 1000;
51
+ readonly CONTACT_NAME_MAX_LENGTH: 250;
52
+ readonly RELATIONSHIP_MAX_LENGTH: 50;
53
+ /** Emergency-contact numbers offered to a partner, primary guardian first. */
54
+ readonly MAX_EMERGENCY_CONTACT_PHONE_NUMBERS: 5;
55
+ };
56
+ /**
57
+ * Header carrying a caller-supplied idempotency key on routing requests. Kept
58
+ * here so producer and consumer cannot drift.
59
+ */
60
+ export declare const PARTNER_ROUTING_IDEMPOTENCY_HEADER = "x-partner-routing-idempotency-key";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Consumer groups for the partner dispatch topics. One group per logical
3
+ * consumer, so adding a consumer never steals another's messages.
4
+ */
5
+ export declare const PARTNER_CONSUMER_GROUPS: {
6
+ /** clarion-notification: tells an operator a manual dispatch needs a decision. */
7
+ readonly NOTIFICATION: "partner-dispatch-notification";
8
+ /** clarion-socket: pushes dispatch state to the live admin views. */
9
+ readonly REALTIME: "partner-dispatch-realtime";
10
+ };
11
+ /**
12
+ * Redis channel clarion-partner-services publishes live dispatch updates on,
13
+ * mirroring the tracking realtime bridge that clarion-socket already subscribes
14
+ * to.
15
+ */
16
+ export declare const PARTNER_REALTIME_CHANNEL = "partner:dispatch:events";
@@ -0,0 +1,24 @@
1
+ import { IncidentEmergencyType } from '../../incident/enums/incident-emergency-type.enum';
2
+ import { PartnerCoverageMatchType } from '../enums/partner-coverage-match-type.enum';
3
+ import { PartnerRoutingMode } from '../enums/partner-routing-mode.enum';
4
+ import { PartnerServiceCapability } from '../enums/partner-service-capability.enum';
5
+ /**
6
+ * Declare that a kind of incident is covered by a partnership.
7
+ *
8
+ * The match key must agree with `matchType` - INCIDENT_TYPE needs
9
+ * `incidentTypeId`, INCIDENT_CATEGORY needs `incidentCategoryId`,
10
+ * EMERGENCY_TYPE needs `emergencyType`, ALL needs none. That cross-field rule is
11
+ * enforced by clarion-partner-services, which also checks the referenced type or
12
+ * category actually belongs to the tenant.
13
+ */
14
+ export declare class CreatePartnerCoverageRuleDto {
15
+ matchType: PartnerCoverageMatchType;
16
+ incidentTypeId?: number;
17
+ incidentCategoryId?: number;
18
+ emergencyType?: IncidentEmergencyType;
19
+ capability: PartnerServiceCapability;
20
+ routingModeOverride?: PartnerRoutingMode;
21
+ priority?: number;
22
+ enabled?: boolean;
23
+ notes?: string;
24
+ }
@@ -0,0 +1,31 @@
1
+ import { CountryCode } from '../../country/enums/country-code.enum';
2
+ import { PartnerIntegrationEnvironment } from '../enums/partner-integration-environment.enum';
3
+ import { PartnerProviderCode } from '../enums/partner-provider-code.enum';
4
+ import { PartnerRoutingMode } from '../enums/partner-routing-mode.enum';
5
+ import { PartnerServiceCapability } from '../enums/partner-service-capability.enum';
6
+ /**
7
+ * Set up an organization's partnership with a third-party service partner.
8
+ *
9
+ * `organizationId` is only honoured for a Super-Admin, who must state which
10
+ * tenant they are configuring; every other caller is pinned to their own
11
+ * organization by clarion-partner-services regardless of what they send.
12
+ */
13
+ export declare class CreatePartnerIntegrationDto {
14
+ organizationId?: number;
15
+ controlCentreId?: number;
16
+ providerCode: PartnerProviderCode;
17
+ name: string;
18
+ environment?: PartnerIntegrationEnvironment;
19
+ baseUrl?: string;
20
+ credentialReference: string;
21
+ configuration?: Record<string, unknown>;
22
+ capabilities: PartnerServiceCapability[];
23
+ routingMode?: PartnerRoutingMode;
24
+ approvalWindowMinutes?: number;
25
+ enabled?: boolean;
26
+ priority?: number;
27
+ countryCode?: CountryCode;
28
+ partnerContactName?: string;
29
+ partnerContactPhone?: string;
30
+ partnerContactEmail?: string;
31
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * An operator's decision on a dispatch waiting for manual confirmation, or a
3
+ * withdrawal of one already approved.
4
+ *
5
+ * The acting user is never taken from the body - clarion-partner-services reads
6
+ * it from the trusted user context the gateway forwards, so a decision can
7
+ * always be attributed.
8
+ */
9
+ export declare class PartnerDispatchDecisionDto {
10
+ reason?: string;
11
+ }
@@ -0,0 +1,52 @@
1
+ import { CountryCode } from '../../country/enums/country-code.enum';
2
+ import { IncidentChannel } from '../../incident/enums/incident-channel.enum';
3
+ import { IncidentClass } from '../../incident/enums/incident-class.enum';
4
+ import { IncidentEmergencyType } from '../../incident/enums/incident-emergency-type.enum';
5
+ import { IncidentPriority } from '../../incident/enums/incident-priority.enum';
6
+ /** Who raised the emergency, as far as the partner needs to know. */
7
+ export declare class PartnerRoutingReporterDto {
8
+ name?: string;
9
+ phoneNumber?: string;
10
+ userId?: number;
11
+ }
12
+ /** Where the emergency is. */
13
+ export declare class PartnerRoutingLocationDto {
14
+ latitude: number;
15
+ longitude: number;
16
+ measuredAt?: string;
17
+ }
18
+ /**
19
+ * The self-contained routing request clarion-incident sends to
20
+ * clarion-partner-services after an incident commits.
21
+ *
22
+ * Deliberately self-contained rather than a bare incident id: partner routing
23
+ * must never make clarion-partner-services read back from clarion-incident on
24
+ * the emergency path, and the payload frozen here is exactly what a dispatch is
25
+ * audited against later. The one thing it does NOT carry is the reporter's
26
+ * guardians - those are resolved by clarion-partner-services off the hot path,
27
+ * so the SOS response is never delayed by an extra lookup.
28
+ *
29
+ * Idempotent by `incidentId`: a redelivered or retried request returns the
30
+ * existing routing result instead of creating a second dispatch.
31
+ */
32
+ export declare class RouteIncidentToPartnersDto {
33
+ incidentId: number;
34
+ organizationId: number;
35
+ controlCentreId?: number;
36
+ incidentTypeId?: number;
37
+ incidentTypeName?: string;
38
+ incidentCategoryId?: number;
39
+ incidentCategoryName?: string;
40
+ emergencyType?: IncidentEmergencyType;
41
+ incidentClass?: IncidentClass;
42
+ channel?: IncidentChannel;
43
+ priority?: IncidentPriority;
44
+ description?: string;
45
+ address?: string;
46
+ location?: PartnerRoutingLocationDto;
47
+ reporter?: PartnerRoutingReporterDto;
48
+ createdAt: string;
49
+ countryCode?: CountryCode;
50
+ notifyServiceProvider?: boolean;
51
+ notifyGuardians?: boolean;
52
+ }
@@ -0,0 +1,34 @@
1
+ import { IncidentPartnerRoutingStatus } from '../enums/incident-partner-routing-status.enum';
2
+ import { PartnerDispatchStatus } from '../enums/partner-dispatch-status.enum';
3
+ import { PartnerProviderCode } from '../enums/partner-provider-code.enum';
4
+ import { PartnerRoutingMode } from '../enums/partner-routing-mode.enum';
5
+ import { PartnerServiceCapability } from '../enums/partner-service-capability.enum';
6
+ /** One partner's leg of an incident's routing, as pushed back to clarion-incident. */
7
+ export declare class IncidentPartnerRoutingEntryDto {
8
+ integrationId: number;
9
+ providerCode: PartnerProviderCode;
10
+ providerName?: string;
11
+ capability: PartnerServiceCapability;
12
+ routingMode: PartnerRoutingMode;
13
+ dispatchId: number;
14
+ dispatchReference: string;
15
+ status: PartnerDispatchStatus;
16
+ partnerReference?: string;
17
+ updatedAt: string;
18
+ }
19
+ /**
20
+ * The routing callback clarion-partner-services sends to clarion-incident to
21
+ * stamp an incident with its third-party routing outcome.
22
+ *
23
+ * Service-to-service and internal: it is not proxied by the API gateway, and
24
+ * clarion-incident accepts it only from inside the cluster. Sent whenever the
25
+ * rolled-up status changes, so an incident row is eventually consistent with the
26
+ * dispatches behind it without any consumer having to join across services.
27
+ */
28
+ export declare class UpdateIncidentPartnerRoutingDto {
29
+ status: IncidentPartnerRoutingStatus;
30
+ evaluatedAt: string;
31
+ consideredIntegrationCount?: number;
32
+ entries?: IncidentPartnerRoutingEntryDto[];
33
+ degraded?: boolean;
34
+ }
@@ -0,0 +1,5 @@
1
+ import { CreatePartnerCoverageRuleDto } from './create-partner-coverage-rule.dto';
2
+ declare const UpdatePartnerCoverageRuleDto_base: import("@nestjs/mapped-types").MappedType<Partial<CreatePartnerCoverageRuleDto>>;
3
+ export declare class UpdatePartnerCoverageRuleDto extends UpdatePartnerCoverageRuleDto_base {
4
+ }
5
+ export {};
@@ -0,0 +1,11 @@
1
+ import { CreatePartnerIntegrationDto } from './create-partner-integration.dto';
2
+ declare const UpdatePartnerIntegrationDto_base: import("@nestjs/mapped-types").MappedType<Partial<Omit<CreatePartnerIntegrationDto, "organizationId" | "providerCode">>>;
3
+ /**
4
+ * Every field of a partnership is editable except the two that define its
5
+ * identity: `providerCode` and `organizationId`. Changing either would silently
6
+ * repoint an existing dispatch history at a different partner or tenant, so a
7
+ * move is a delete and a create.
8
+ */
9
+ export declare class UpdatePartnerIntegrationDto extends UpdatePartnerIntegrationDto_base {
10
+ }
11
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The incident-side summary of third-party routing, stored on the incident row
3
+ * in clarion-incident so the control room can filter and sort on it without a
4
+ * cross-service join.
5
+ *
6
+ * Owned by clarion-partner-services: clarion-incident writes it only from the
7
+ * routing callback, never from a client payload. Every incident starts
8
+ * NOT_ROUTED, which is also what every row predating the feature backfills to.
9
+ */
10
+ export declare enum IncidentPartnerRoutingStatus {
11
+ /** No partnership covers this incident - the ordinary case. */
12
+ NOT_ROUTED = "NOT_ROUTED",
13
+ /** Covered, and clarion-partner-services has the dispatch(es) in flight. */
14
+ PENDING = "PENDING",
15
+ /** At least one dispatch is waiting on a human decision (MANUAL routing). */
16
+ AWAITING_APPROVAL = "AWAITING_APPROVAL",
17
+ /** Every dispatch reached its partner. */
18
+ ROUTED = "ROUTED",
19
+ /** Some dispatches reached their partner and some did not. */
20
+ PARTIALLY_ROUTED = "PARTIALLY_ROUTED",
21
+ /** Every dispatch failed. */
22
+ FAILED = "FAILED",
23
+ /** Every dispatch was declined or withdrawn by the organization. */
24
+ DECLINED = "DECLINED"
25
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The outbound partner call an attempt record describes. Kept separate from the
3
+ * dispatch status so an audit trail can distinguish "we could not authenticate"
4
+ * from "the emergency itself was rejected".
5
+ */
6
+ export declare enum PartnerAdapterOperation {
7
+ /** Exchanging the stored credential for a short-lived access token. */
8
+ AUTHENTICATE = "AUTHENTICATE",
9
+ /** A non-mutating connectivity probe. */
10
+ HEALTH_CHECK = "HEALTH_CHECK",
11
+ /** Submitting the emergency itself. */
12
+ DISPATCH = "DISPATCH"
13
+ }