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
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.truncateForPartner = truncateForPartner;
4
+ exports.buildPartnerIssueText = buildPartnerIssueText;
5
+ exports.maskPartnerIdentifier = maskPartnerIdentifier;
6
+ exports.sanitizePartnerPayload = sanitizePartnerPayload;
7
+ exports.maskPartnerUrl = maskPartnerUrl;
8
+ const partner_defaults_const_1 = require("../constants/partner-defaults.const");
9
+ /**
10
+ * Trim a value to a partner's field limit without ever throwing.
11
+ *
12
+ * Partner APIs reject an over-long field outright, and refusing to send an
13
+ * emergency because a description ran long is never the right trade - so the
14
+ * value is truncated and the emergency still goes.
15
+ */
16
+ function truncateForPartner(value, maxLength) {
17
+ if (value == null)
18
+ return undefined;
19
+ const trimmed = String(value).trim();
20
+ if (trimmed === '')
21
+ return undefined;
22
+ return trimmed.length <= maxLength ? trimmed : trimmed.slice(0, maxLength);
23
+ }
24
+ /**
25
+ * Build the free-text description of what is wrong, from the incident's type,
26
+ * category and description.
27
+ *
28
+ * Ordered most-specific-first so a partner reading only the opening words still
29
+ * learns the useful part, and clamped to the partner's limit.
30
+ */
31
+ function buildPartnerIssueText(parts) {
32
+ var _a;
33
+ const maxLength = (_a = parts.maxLength) !== null && _a !== void 0 ? _a : partner_defaults_const_1.PARTNER_FIELD_LIMITS.ISSUE_MAX_LENGTH;
34
+ const headline = [parts.typeName, parts.categoryName]
35
+ .map((v) => (v == null ? '' : String(v).trim()))
36
+ .filter((v) => v !== '')
37
+ .join(' / ');
38
+ const description = parts.description == null ? '' : String(parts.description).trim();
39
+ const combined = [headline, description].filter((v) => v !== '').join(' - ');
40
+ return truncateForPartner(combined, maxLength);
41
+ }
42
+ /**
43
+ * Mask an identifier for logging: keeps enough to correlate, never enough to
44
+ * reuse. `+254712345678` becomes `+254***5678`.
45
+ *
46
+ * Every log line in the partner pipeline goes through this - a dispatch carries
47
+ * a reporter's phone number and a partner's reference, and neither belongs in
48
+ * plaintext in a log aggregator.
49
+ */
50
+ function maskPartnerIdentifier(value) {
51
+ if (value == null)
52
+ return 'unknown';
53
+ const raw = String(value).trim();
54
+ if (raw === '')
55
+ return 'unknown';
56
+ if (raw.length <= 8)
57
+ return `${raw.slice(0, 2)}***`;
58
+ return `${raw.slice(0, 4)}***${raw.slice(-4)}`;
59
+ }
60
+ /**
61
+ * Strip anything credential-shaped out of a value before it is persisted on a
62
+ * dispatch or written to a log.
63
+ *
64
+ * Applied to every partner request and response body the service stores.
65
+ * Matching is on the KEY, case-insensitively and by substring, because partners
66
+ * do not agree on a name for a secret (`apiKey`, `api_key`, `access_token`,
67
+ * `Authorization`, ...). The shape of the payload is preserved so an audit still
68
+ * shows what was sent.
69
+ */
70
+ function sanitizePartnerPayload(value, depth = 0) {
71
+ if (depth > 8 || value == null)
72
+ return value;
73
+ if (Array.isArray(value))
74
+ return value.map((item) => sanitizePartnerPayload(item, depth + 1));
75
+ if (typeof value !== 'object')
76
+ return value;
77
+ const result = {};
78
+ for (const [key, entry] of Object.entries(value)) {
79
+ result[key] = isSecretKey(key) ? '[REDACTED]' : sanitizePartnerPayload(entry, depth + 1);
80
+ }
81
+ return result;
82
+ }
83
+ /** Substrings that mark a key as carrying a secret. */
84
+ const SECRET_KEY_FRAGMENTS = [
85
+ 'apikey',
86
+ 'api_key',
87
+ 'secret',
88
+ 'password',
89
+ 'passwd',
90
+ 'token',
91
+ 'authorization',
92
+ 'auth',
93
+ 'credential',
94
+ 'signature',
95
+ 'privatekey',
96
+ 'private_key',
97
+ ];
98
+ function isSecretKey(key) {
99
+ const normalized = key.toLowerCase();
100
+ return SECRET_KEY_FRAGMENTS.some((fragment) => normalized.includes(fragment));
101
+ }
102
+ /**
103
+ * A URL safe to store on an attempt record: origin and path only, with any
104
+ * query string replaced.
105
+ *
106
+ * Partner APIs put credentials in query strings often enough that keeping one
107
+ * verbatim in an audit table is a real exposure.
108
+ */
109
+ function maskPartnerUrl(url) {
110
+ if (url == null)
111
+ return '';
112
+ const raw = String(url);
113
+ const queryStart = raw.indexOf('?');
114
+ return queryStart === -1 ? raw : `${raw.slice(0, queryStart)}?[REDACTED]`;
115
+ }
116
+ //# sourceMappingURL=partner-payload.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-payload.util.js","sourceRoot":"","sources":["../../../../../src/modules/partner/utils/partner-payload.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coverageRuleMatches = coverageRuleMatches;
4
+ exports.resolveRoutingMode = resolveRoutingMode;
5
+ exports.mapChannelToLocationProvider = mapChannelToLocationProvider;
6
+ exports.isPartnerLocationProvider = isPartnerLocationProvider;
7
+ exports.isPermanentDispatchFailure = isPermanentDispatchFailure;
8
+ exports.isDeliveredDispatchStatus = isDeliveredDispatchStatus;
9
+ exports.retryDelaySeconds = retryDelaySeconds;
10
+ exports.summarizeIncidentRoutingStatus = summarizeIncidentRoutingStatus;
11
+ const partner_defaults_const_1 = require("../constants/partner-defaults.const");
12
+ const incident_partner_routing_status_enum_1 = require("../enums/incident-partner-routing-status.enum");
13
+ const partner_coverage_match_type_enum_1 = require("../enums/partner-coverage-match-type.enum");
14
+ const partner_dispatch_failure_reason_enum_1 = require("../enums/partner-dispatch-failure-reason.enum");
15
+ const partner_dispatch_status_enum_1 = require("../enums/partner-dispatch-status.enum");
16
+ const partner_location_provider_enum_1 = require("../enums/partner-location-provider.enum");
17
+ const partner_routing_mode_enum_1 = require("../enums/partner-routing-mode.enum");
18
+ /**
19
+ * Whether a coverage rule applies to an incident.
20
+ *
21
+ * Shared by clarion-partner-services (which routes on it) and the web admin
22
+ * (which previews "what would this rule catch?"), so the two can never disagree
23
+ * about whether an ambulance would have been called.
24
+ *
25
+ * A disabled rule never matches, and a rule whose match key is missing on either
26
+ * side never matches - a rule with no incident type cannot silently become a
27
+ * catch-all.
28
+ */
29
+ function coverageRuleMatches(rule, subject) {
30
+ if (rule.enabled === false)
31
+ return false;
32
+ switch (rule.matchType) {
33
+ case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.ALL:
34
+ return true;
35
+ case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.INCIDENT_TYPE:
36
+ return (rule.incidentTypeId != null &&
37
+ subject.incidentTypeId != null &&
38
+ rule.incidentTypeId === subject.incidentTypeId);
39
+ case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.INCIDENT_CATEGORY:
40
+ return (rule.incidentCategoryId != null &&
41
+ subject.incidentCategoryId != null &&
42
+ rule.incidentCategoryId === subject.incidentCategoryId);
43
+ case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.EMERGENCY_TYPE:
44
+ return (rule.emergencyType != null &&
45
+ subject.emergencyType != null &&
46
+ String(rule.emergencyType) === String(subject.emergencyType));
47
+ default:
48
+ return false;
49
+ }
50
+ }
51
+ /**
52
+ * The routing mode actually applied to a dispatch.
53
+ *
54
+ * A rule-level override wins over the partnership's default, and DISABLED at
55
+ * either level wins over everything - an organization that has switched routing
56
+ * off must not be overridden by a rule it forgot about.
57
+ */
58
+ function resolveRoutingMode(integrationMode, ruleOverride) {
59
+ if (integrationMode === partner_routing_mode_enum_1.PartnerRoutingMode.DISABLED)
60
+ return partner_routing_mode_enum_1.PartnerRoutingMode.DISABLED;
61
+ if (!ruleOverride)
62
+ return integrationMode;
63
+ return ruleOverride;
64
+ }
65
+ /**
66
+ * How a partner is told the incident's location was obtained, derived from the
67
+ * reporting channel.
68
+ *
69
+ * `overrides` accepts a partnership's `locationProviderByChannel` configuration
70
+ * verbatim; unknown channels and unknown provider values fall back to the
71
+ * platform default rather than being passed through to the partner.
72
+ */
73
+ function mapChannelToLocationProvider(channel, overrides) {
74
+ const fallback = partner_location_provider_enum_1.PartnerLocationProvider.NETWORK;
75
+ if (!channel)
76
+ return fallback;
77
+ const override = overrides === null || overrides === void 0 ? void 0 : overrides[String(channel)];
78
+ if (override && isPartnerLocationProvider(override)) {
79
+ return override;
80
+ }
81
+ const mapped = partner_defaults_const_1.PARTNER_CHANNEL_LOCATION_PROVIDER[channel];
82
+ return mapped !== null && mapped !== void 0 ? mapped : fallback;
83
+ }
84
+ /** Type guard for a value claiming to be a {@link PartnerLocationProvider}. */
85
+ function isPartnerLocationProvider(value) {
86
+ return (typeof value === 'string' &&
87
+ Object.values(partner_location_provider_enum_1.PartnerLocationProvider).includes(value));
88
+ }
89
+ /** Whether a failure should be retried, or has no chance of succeeding. */
90
+ function isPermanentDispatchFailure(reason) {
91
+ if (!reason)
92
+ return false;
93
+ return partner_dispatch_failure_reason_enum_1.PERMANENT_PARTNER_DISPATCH_FAILURE_REASONS.includes(reason);
94
+ }
95
+ /** Whether a dispatch status means the partner has the emergency. */
96
+ function isDeliveredDispatchStatus(status) {
97
+ return partner_dispatch_status_enum_1.DELIVERED_PARTNER_DISPATCH_STATUSES.includes(status);
98
+ }
99
+ /**
100
+ * Seconds to wait before retry number `attemptNumber` (1-based), as an
101
+ * exponential backoff clamped to the configured ceiling.
102
+ */
103
+ function retryDelaySeconds(attemptNumber, baseSeconds = partner_defaults_const_1.PARTNER_DISPATCH_DEFAULTS.RETRY_BASE_SECONDS, maxSeconds = partner_defaults_const_1.PARTNER_DISPATCH_DEFAULTS.RETRY_MAX_SECONDS) {
104
+ const safeAttempt = Number.isFinite(attemptNumber) && attemptNumber > 0 ? Math.floor(attemptNumber) : 1;
105
+ const delay = baseSeconds * Math.pow(2, safeAttempt - 1);
106
+ return Math.min(delay, maxSeconds);
107
+ }
108
+ /**
109
+ * Roll every dispatch on an incident up into the one status stored on the
110
+ * incident row.
111
+ *
112
+ * Order matters and encodes what an operator most needs to see first: anything
113
+ * still waiting on a human outranks a settled outcome, and a mix of delivered
114
+ * and failed is reported as PARTIALLY_ROUTED rather than rounded to either.
115
+ */
116
+ function summarizeIncidentRoutingStatus(statuses) {
117
+ if (!statuses || statuses.length === 0)
118
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.NOT_ROUTED;
119
+ if (statuses.some((s) => s === partner_dispatch_status_enum_1.PartnerDispatchStatus.PENDING_APPROVAL)) {
120
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.AWAITING_APPROVAL;
121
+ }
122
+ if (statuses.some((s) => s === partner_dispatch_status_enum_1.PartnerDispatchStatus.QUEUED || s === partner_dispatch_status_enum_1.PartnerDispatchStatus.SENDING)) {
123
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.PENDING;
124
+ }
125
+ const delivered = statuses.filter(isDeliveredDispatchStatus).length;
126
+ if (delivered === statuses.length)
127
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.ROUTED;
128
+ if (delivered > 0)
129
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.PARTIALLY_ROUTED;
130
+ const declined = statuses.filter((s) => s === partner_dispatch_status_enum_1.PartnerDispatchStatus.REJECTED ||
131
+ s === partner_dispatch_status_enum_1.PartnerDispatchStatus.CANCELLED ||
132
+ s === partner_dispatch_status_enum_1.PartnerDispatchStatus.EXPIRED).length;
133
+ if (declined === statuses.length)
134
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.DECLINED;
135
+ return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.FAILED;
136
+ }
137
+ //# sourceMappingURL=partner-routing.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-routing.util.js","sourceRoot":"","sources":["../../../../../src/modules/partner/utils/partner-routing.util.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,11 @@ exports.PERMISSIONS_DATA = [
19
19
  permission_actions_enum_1.PermissionActions.CREATE_PARTNER,
20
20
  permission_actions_enum_1.PermissionActions.READ_PARTNER,
21
21
  permission_actions_enum_1.PermissionActions.UPDATE_PARTNER,
22
- permission_actions_enum_1.PermissionActions.DELETE_PARTNER
22
+ permission_actions_enum_1.PermissionActions.DELETE_PARTNER,
23
+ permission_actions_enum_1.PermissionActions.READ_PARTNER_DISPATCH,
24
+ permission_actions_enum_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
25
+ permission_actions_enum_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
26
+ permission_actions_enum_1.PermissionActions.RESEND_PARTNER_DISPATCH
23
27
  ]
24
28
  },
25
29
  {
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.data.js","sourceRoot":"","sources":["../../../../../src/modules/permission/data/permissions.data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.data.js","sourceRoot":"","sources":["../../../../../src/modules/permission/data/permissions.data.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,20 @@ var PermissionActions;
9
9
  PermissionActions["UPDATE_ORGANIZATION"] = "update:organization";
10
10
  PermissionActions["DELETE_ORGANIZATION"] = "delete:organization";
11
11
  // Module: Partner
12
+ // Configuring an organization's third-party service partnerships
13
+ // (clarion-partner-services). These four already existed and were dormant;
14
+ // they now govern partnership and coverage-rule CRUD.
12
15
  PermissionActions["CREATE_PARTNER"] = "create:partner";
13
16
  PermissionActions["READ_PARTNER"] = "read:partner";
14
17
  PermissionActions["UPDATE_PARTNER"] = "update:partner";
15
18
  PermissionActions["DELETE_PARTNER"] = "delete:partner";
19
+ // Acting on an individual routed emergency. Kept apart from the CRUD
20
+ // actions above because the people who confirm an ambulance (control-room
21
+ // operators) are not the people who configure the partnership.
22
+ PermissionActions["READ_PARTNER_DISPATCH"] = "read:partner-dispatch";
23
+ PermissionActions["APPROVE_PARTNER_DISPATCH"] = "approve:partner-dispatch";
24
+ PermissionActions["CANCEL_PARTNER_DISPATCH"] = "cancel:partner-dispatch";
25
+ PermissionActions["RESEND_PARTNER_DISPATCH"] = "resend:partner-dispatch";
16
26
  // Module: ControlCentre
17
27
  PermissionActions["CREATE_CONTROL_CENTRE"] = "create:control-centre";
18
28
  PermissionActions["READ_CONTROL_CENTRE"] = "read:control-centre";
@@ -1 +1 @@
1
- {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBA6HX;AA7HD,WAAY,iBAAiB;IACzB,uBAAuB;IACvB,gEAA2C,CAAA;IAC3C,4DAAuC,CAAA;IACvC,gEAA2C,CAAA;IAC3C,gEAA2C,CAAA;IAE3C,kBAAkB;IAClB,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IAEjC,wBAAwB;IACxB,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAE/C,eAAe;IACf,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAE3B,eAAe;IACf,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAE3B,eAAe;IACf,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAE3B,mBAAmB;IACnB,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,oFAA+D,CAAA;IAC/D,gFAA2D,CAAA;IAC3D,oFAA+D,CAAA;IAC/D,oFAA+D,CAAA;IAE/D,uBAAuB;IACvB,kEAA6C,CAAA;IAC7C,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,kEAA6C,CAAA;IAE7C,kBAAkB;IAClB,8DAAyC,CAAA;IACzC,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,8DAAyC,CAAA;IAEzC,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAE/C,wEAAmD,CAAA;IACnD,oEAA+C,CAAA;IAC/C,wEAAmD,CAAA;IACnD,wEAAmD,CAAA;IAEnD,sFAAiE,CAAA;IACjE,kFAA6D,CAAA;IAC7D,sFAAiE,CAAA;IACjE,sFAAiE,CAAA;IAEjE,0EAAqD,CAAA;IACrD,sEAAiD,CAAA;IACjD,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IAErD,0DAAqC,CAAA;IAErC,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,4DAAuC,CAAA;IAEvC,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAE/B,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAE7B,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IAEjC,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAE7B,8FAAyE,CAAA;IACzE,kFAA6D,CAAA;IAC7D,0GAAqF,CAAA;IACrF,sFAAiE,CAAA;IAEjE,4FAAuE,CAAA;IACvE,gFAA2D,CAAA;IAC3D,wGAAmF,CAAA;IACnF,oFAA+D,CAAA;IAE/D,4DAAuC,CAAA;IACvC,wDAAmC,CAAA;IACnC,wEAAmD,CAAA;IACnD,kEAA6C,CAAA;IAE7C,mBAAmB;IACnB,kEAA6C,CAAA;IAC7C,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;AACjD,CAAC,EA7HW,iBAAiB,iCAAjB,iBAAiB,QA6H5B"}
1
+ {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,11 @@ exports.ROLES_DATA = [
22
22
  permission_1.PermissionActions.READ_PARTNER,
23
23
  permission_1.PermissionActions.UPDATE_PARTNER,
24
24
  permission_1.PermissionActions.DELETE_PARTNER,
25
+ //Partner dispatch
26
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
27
+ permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
28
+ permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
29
+ permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
25
30
  //control centre
26
31
  permission_1.PermissionActions.CREATE_CONTROL_CENTRE,
27
32
  permission_1.PermissionActions.READ_CONTROL_CENTRE,
@@ -68,6 +73,11 @@ exports.ROLES_DATA = [
68
73
  permission_1.PermissionActions.READ_PARTNER,
69
74
  permission_1.PermissionActions.UPDATE_PARTNER,
70
75
  permission_1.PermissionActions.DELETE_PARTNER,
76
+ //Partner dispatch
77
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
78
+ permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
79
+ permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
80
+ permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
71
81
  //control centre
72
82
  permission_1.PermissionActions.CREATE_CONTROL_CENTRE,
73
83
  permission_1.PermissionActions.READ_CONTROL_CENTRE,
@@ -110,6 +120,8 @@ exports.ROLES_DATA = [
110
120
  permission_1.PermissionActions.READ_ORGANIZATION,
111
121
  //Partner
112
122
  permission_1.PermissionActions.READ_PARTNER,
123
+ //Partner dispatch
124
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
113
125
  //control centre
114
126
  permission_1.PermissionActions.READ_CONTROL_CENTRE,
115
127
  //Zone
@@ -132,6 +144,13 @@ exports.ROLES_DATA = [
132
144
  permissions: [
133
145
  //Organization
134
146
  permission_1.PermissionActions.READ_ORGANIZATION,
147
+ //Partner dispatch: the control room confirms and withdraws a routed
148
+ //emergency, but does not configure the partnership behind it.
149
+ permission_1.PermissionActions.READ_PARTNER,
150
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
151
+ permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
152
+ permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
153
+ permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
135
154
  //Control Centre
136
155
  permission_1.PermissionActions.READ_CONTROL_CENTRE,
137
156
  permission_1.PermissionActions.UPDATE_CONTROL_CENTRE,
@@ -166,6 +185,10 @@ exports.ROLES_DATA = [
166
185
  permissions: [
167
186
  //Organization
168
187
  permission_1.PermissionActions.READ_ORGANIZATION,
188
+ //Partner dispatch: an operator on the desk may confirm a routed
189
+ //emergency; withdrawing one and resending it stay with their admin.
190
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
191
+ permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
169
192
  //Control Centre
170
193
  permission_1.PermissionActions.READ_CONTROL_CENTRE,
171
194
  //Zone
@@ -190,6 +213,9 @@ exports.ROLES_DATA = [
190
213
  permissions: [
191
214
  //Organization
192
215
  permission_1.PermissionActions.READ_ORGANIZATION,
216
+ //Partner dispatch: a responder sees whether a partner is en route,
217
+ //and changes nothing about it.
218
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
193
219
  //Control Centre
194
220
  permission_1.PermissionActions.READ_CONTROL_CENTRE,
195
221
  //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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"}
package/dist/esm/index.js CHANGED
@@ -23,6 +23,7 @@ export * from './modules/tracking/index';
23
23
  export * from './modules/entitlement/index';
24
24
  export * from './modules/alert-dispatch/index';
25
25
  export * from './modules/system-user/index';
26
+ export * from './modules/partner/index';
26
27
  // Interfaces
27
28
  export * from './interfaces/server-message';
28
29
  export * from './interfaces/i-request-with-user';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,aAAa;AACb,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,QAAQ;AACR,cAAc,eAAe,CAAC;AAE9B,YAAY;AACZ,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uDAAuD,CAAC;AAEtE,aAAa;AACb,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAExC,aAAa;AACb,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,QAAQ;AACR,cAAc,eAAe,CAAC;AAE9B,YAAY;AACZ,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uDAAuD,CAAC;AAEtE,aAAa;AACb,cAAc,oBAAoB,CAAC"}
@@ -66,5 +66,8 @@ export const KAFKA_TOPICS = {
66
66
  ORG_RESPONSE_UNIT_DELETED: 'organization.response-unit.deleted.v1',
67
67
  ORG_RESPONSE_UNIT_CONTROL_CENTRE_CHANGED: 'organization.response-unit.control-centre-changed.v1',
68
68
  ORG_RESPONSE_UNIT_STATUS_CHANGED: 'organization.response-unit.status-changed.v1',
69
+ // Third-party partner dispatch (producer: clarion-partner-services) - versioned.
70
+ PARTNER_DISPATCH_CREATED: 'partner.dispatch.created.v1',
71
+ PARTNER_DISPATCH_STATUS_CHANGED: 'partner.dispatch.status-changed.v1',
69
72
  };
70
73
  //# sourceMappingURL=topics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO;IACP,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM;IACN,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM;IACN,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,WAAW;IACX,cAAc,EAAE,gBAAgB;IAChC,WAAW;IACX,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,2BAA2B,EAAE,6BAA6B;IAC1D,yCAAyC,EAAE,2CAA2C;IACtF,OAAO;IACP,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,OAAO;IACP,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW;IACX,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,iEAAiE;IACjE,iBAAiB,EAAE,oCAAoC;IACvD,eAAe,EAAE,kCAAkC;IACnD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wEAAwE;IACxE,+DAA+D;IAC/D,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,wCAAwC,EACpC,sDAAsD;IAC1D,gCAAgC,EAAE,8CAA8C;CACnF,CAAC"}
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO;IACP,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM;IACN,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM;IACN,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,WAAW;IACX,cAAc,EAAE,gBAAgB;IAChC,WAAW;IACX,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,2BAA2B,EAAE,6BAA6B;IAC1D,yCAAyC,EAAE,2CAA2C;IACtF,OAAO;IACP,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,OAAO;IACP,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW;IACX,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,iEAAiE;IACjE,iBAAiB,EAAE,oCAAoC;IACvD,eAAe,EAAE,kCAAkC;IACnD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wEAAwE;IACxE,+DAA+D;IAC/D,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,wCAAwC,EACpC,sDAAsD;IAC1D,gCAAgC,EAAE,8CAA8C;IAChF,iFAAiF;IACjF,wBAAwB,EAAE,6BAA6B;IACvD,+BAA+B,EAAE,oCAAoC;CACxE,CAAC"}
@@ -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 var IncidentDispatchScope;
19
27
  (function (IncidentDispatchScope) {
@@ -1 +1 @@
1
- {"version":3,"file":"incident-dispatch-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/enums/incident-dispatch-scope.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,oCAAW,CAAA;IACX,kDAAyB,CAAA;IACzB,kDAAyB,CAAA;AAC7B,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC"}
1
+ {"version":3,"file":"incident-dispatch-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/enums/incident-dispatch-scope.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,oCAAW,CAAA;IACX,kDAAyB,CAAA;IACzB,kDAAyB,CAAA;AAC7B,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC"}
@@ -1,3 +1,4 @@
1
+ import { EntitlementDecisionReason } from '../../entitlement/enums/entitlement-decision-reason.enum';
1
2
  import { isFreeUserTier } from '../../entitlement/utils/entitlement.util';
2
3
  import { IncidentDispatchScope } from '../enums/incident-dispatch-scope.enum';
3
4
  /**
@@ -7,9 +8,11 @@ import { IncidentDispatchScope } from '../enums/incident-dispatch-scope.enum';
7
8
  * Two independent reasons keep an alert out, and this is the single place both
8
9
  * are expressed so no consumer can honour one and forget the other:
9
10
  *
10
- * 1. the reporter is a Free user, so the provider was never entitled to it;
11
- * 2. the reporter explicitly unchecked the provider option ("Marked Ignore").
11
+ * 1. the reporter was not entitled to send it (no subscription, or one that
12
+ * does not cover this incident type), so the provider was never asked;
13
+ * 2. the reporter explicitly unchecked the provider option.
12
14
  *
15
+ * Reads `notifyServiceProvider`, the resolved OUTCOME - never the request.
13
16
  * A missing flag counts as dispatched: incidents written before this feature
14
17
  * existed, and every operator-created record, keep their original behaviour.
15
18
  */
@@ -25,15 +28,36 @@ export function reachesGuardians(incident) {
25
28
  return !incident || incident.notifyGuardians !== false;
26
29
  }
27
30
  /**
28
- * Whether the reporter deliberately withheld this alert from the provider, as
29
- * opposed to never having been entitled to send it. Only the former belongs in
30
- * the "Marked Ignore" admin list; a Free user's alert belongs in
31
- * "Incident List - Free Users".
31
+ * Whether the reporter deliberately withheld this alert from the provider.
32
+ *
33
+ * Reads the REQUEST, not the outcome. An alert entitlement withheld is not an
34
+ * alert somebody chose to withhold, and only the second belongs in a
35
+ * "Marked Ignore" view - a free user never had the option to decline, so their
36
+ * alert is not "marked ignore" however the resolved flag ended up.
37
+ *
38
+ * Independent of entitlement, so it holds equally for a subscriber who declined
39
+ * on a covered type and one who declined on a type their package excludes.
40
+ * Which of the two Marked Ignore lists they land in is decided by pairing this
41
+ * with the entitlement scope.
32
42
  */
33
43
  export function isMarkedIgnore(incident) {
34
- if (!incident)
35
- return false;
36
- return incident.notifyServiceProvider === false && !isFreeUserTier(incident.entitlementTier);
44
+ return (incident === null || incident === void 0 ? void 0 : incident.notifyServiceProviderRequested) === false;
45
+ }
46
+ /**
47
+ * Whether the reporter pays for cover, but not for the incident type they
48
+ * raised. Distinct from having no entitlement at all: this is a paying customer
49
+ * finding a gap in their package, not someone to upsell from scratch.
50
+ */
51
+ export function isUncoveredIncidentType(incident) {
52
+ return (incident === null || incident === void 0 ? void 0 : incident.entitlementReason) === EntitlementDecisionReason.INCIDENT_TYPE_NOT_COVERED;
53
+ }
54
+ /**
55
+ * Whether the reporter had no entitlement whatsoever - never subscribed,
56
+ * lapsed, or a spent/expired trial. Deliberately excludes the uncovered-type
57
+ * case, which carries the same FREE tier but is a different conversation.
58
+ */
59
+ export function isUnentitledReporter(incident) {
60
+ return isFreeUserTier(incident === null || incident === void 0 ? void 0 : incident.entitlementTier) && !isUncoveredIncidentType(incident);
37
61
  }
38
62
  /**
39
63
  * Applies dispatch policy to what the client asked for.
@@ -44,20 +68,29 @@ export function isMarkedIgnore(incident) {
44
68
  * defaults to "notify", so existing callers (web admin, older app builds) are
45
69
  * unaffected.
46
70
  *
47
- * Returns resolved flags only - it deliberately does not reject the
48
- * both-off combination, so callers can decide whether that is a validation
49
- * error (the SOS path) or simply nobody to notify.
71
+ * Returns both what was asked for and what will happen, because the two diverge
72
+ * exactly when entitlement overrides the reporter - and that difference is what
73
+ * the admin's Marked Ignore views are built on.
74
+ *
75
+ * It deliberately does not reject the both-off combination, so callers can
76
+ * decide whether that is a validation error (the SOS path) or simply nobody to
77
+ * notify.
50
78
  */
51
79
  export function resolveIncidentAlertDispatch(request) {
52
80
  const applies = request.applies !== false;
53
81
  if (!applies) {
54
- return { notifyServiceProvider: true, notifyGuardians: true };
82
+ return {
83
+ notifyServiceProvider: true,
84
+ notifyGuardians: true,
85
+ notifyServiceProviderRequested: true,
86
+ };
55
87
  }
56
88
  const notifyGuardians = request.notifyGuardians !== false;
89
+ const notifyServiceProviderRequested = request.notifyServiceProvider !== false;
57
90
  const notifyServiceProvider = isFreeUserTier(request.tier)
58
91
  ? false
59
- : request.notifyServiceProvider !== false;
60
- return { notifyServiceProvider, notifyGuardians };
92
+ : notifyServiceProviderRequested;
93
+ return { notifyServiceProvider, notifyGuardians, notifyServiceProviderRequested };
61
94
  }
62
95
  /** True when an alert would reach nobody at all. */
63
96
  export function reachesNobody(dispatch) {
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dispatch.util.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/utils/alert-dispatch.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAG9E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAA+F;IAE/F,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAC;AACpD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,QAA+B;IAC5D,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC1B,QAA+F;IAE/F,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,QAAQ,CAAC,qBAAqB,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAA6B;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;IAC1D,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC;IAE9C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC;AACtD,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,QAA+B;IACzD,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,MAAK,KAAK,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,KAAK,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAqB;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1E,CAAC,CAAE,UAAoC;QACvC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"alert-dispatch.util.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/utils/alert-dispatch.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAErG,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAU9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAA0D;IAE1D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAC;AACpD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,QAA+B;IAC5D,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC1B,QAAmE;IAEnE,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,8BAA8B,MAAK,KAAK,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAkC;IACtE,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,MAAK,yBAAyB,CAAC,yBAAyB,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkC;IACnE,OAAO,cAAc,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,4BAA4B,CACxC,OAA6B;IAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO;YACH,qBAAqB,EAAE,IAAI;YAC3B,eAAe,EAAE,IAAI;YACrB,8BAA8B,EAAE,IAAI;SACvC,CAAC;IACN,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;IAC1D,MAAM,8BAA8B,GAAG,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC;IAC/E,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,8BAA8B,CAAC;IAErC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,8BAA8B,EAAE,CAAC;AACtF,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,QAA+B;IACzD,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,MAAK,KAAK,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,KAAK,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAqB;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1E,CAAC,CAAE,UAAoC;QACvC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC;AACpC,CAAC"}
@@ -14,5 +14,6 @@ export const SERVICE_CONSTS = {
14
14
  BILLING_SERVICE: { name: 'billing-service', port: 3012 },
15
15
  NEWSFEED_SERVICE: { name: 'newsfeed-service', port: 3015 },
16
16
  RESPONSE_TRACKING_SERVICE: { name: 'response-tracking-service', port: 3016 },
17
+ PARTNER_SERVICE: { name: 'partner-service', port: 3017 },
17
18
  };
18
19
  //# sourceMappingURL=service.const.js.map