local-risk-alert-feed 0.1.0 → 0.2.0

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 (85) hide show
  1. package/dist/cjs/core/alert-aggregator.js +24 -15
  2. package/dist/cjs/core/alert-aggregator.js.map +1 -1
  3. package/dist/cjs/index.js +3 -6
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/plugins/events/index.js +3 -1
  6. package/dist/cjs/plugins/events/index.js.map +1 -1
  7. package/dist/cjs/plugins/events/phoenix-convention-center.plugin.js +235 -0
  8. package/dist/cjs/plugins/events/phoenix-convention-center.plugin.js.map +1 -0
  9. package/dist/cjs/plugins/events/phoenix-events.plugin.js +24 -195
  10. package/dist/cjs/plugins/events/phoenix-events.plugin.js.map +1 -1
  11. package/dist/cjs/plugins/fire-emt/index.js +3 -1
  12. package/dist/cjs/plugins/fire-emt/index.js.map +1 -1
  13. package/dist/cjs/plugins/fire-emt/nifc-wildfire.plugin.js +221 -0
  14. package/dist/cjs/plugins/fire-emt/nifc-wildfire.plugin.js.map +1 -0
  15. package/dist/cjs/plugins/fire-emt/phoenix-fire.plugin.js +153 -154
  16. package/dist/cjs/plugins/fire-emt/phoenix-fire.plugin.js.map +1 -1
  17. package/dist/cjs/plugins/index.js +2 -7
  18. package/dist/cjs/plugins/index.js.map +1 -1
  19. package/dist/cjs/plugins/traffic/arizona-traffic.plugin.js +70 -77
  20. package/dist/cjs/plugins/traffic/arizona-traffic.plugin.js.map +1 -1
  21. package/dist/esm/core/alert-aggregator.js +24 -15
  22. package/dist/esm/core/alert-aggregator.js.map +1 -1
  23. package/dist/esm/index.js +1 -3
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/plugins/events/index.js +1 -0
  26. package/dist/esm/plugins/events/index.js.map +1 -1
  27. package/dist/esm/plugins/events/phoenix-convention-center.plugin.js +231 -0
  28. package/dist/esm/plugins/events/phoenix-convention-center.plugin.js.map +1 -0
  29. package/dist/esm/plugins/events/phoenix-events.plugin.js +24 -195
  30. package/dist/esm/plugins/events/phoenix-events.plugin.js.map +1 -1
  31. package/dist/esm/plugins/fire-emt/index.js +1 -0
  32. package/dist/esm/plugins/fire-emt/index.js.map +1 -1
  33. package/dist/esm/plugins/fire-emt/nifc-wildfire.plugin.js +217 -0
  34. package/dist/esm/plugins/fire-emt/nifc-wildfire.plugin.js.map +1 -0
  35. package/dist/esm/plugins/fire-emt/phoenix-fire.plugin.js +153 -154
  36. package/dist/esm/plugins/fire-emt/phoenix-fire.plugin.js.map +1 -1
  37. package/dist/esm/plugins/index.js +1 -5
  38. package/dist/esm/plugins/index.js.map +1 -1
  39. package/dist/esm/plugins/traffic/arizona-traffic.plugin.js +70 -77
  40. package/dist/esm/plugins/traffic/arizona-traffic.plugin.js.map +1 -1
  41. package/dist/types/core/alert-aggregator.d.ts +1 -1
  42. package/dist/types/core/alert-aggregator.d.ts.map +1 -1
  43. package/dist/types/index.d.ts +2 -6
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/plugins/events/index.d.ts +2 -0
  46. package/dist/types/plugins/events/index.d.ts.map +1 -1
  47. package/dist/types/plugins/events/phoenix-convention-center.plugin.d.ts +55 -0
  48. package/dist/types/plugins/events/phoenix-convention-center.plugin.d.ts.map +1 -0
  49. package/dist/types/plugins/events/phoenix-events.plugin.d.ts +5 -37
  50. package/dist/types/plugins/events/phoenix-events.plugin.d.ts.map +1 -1
  51. package/dist/types/plugins/fire-emt/index.d.ts +2 -0
  52. package/dist/types/plugins/fire-emt/index.d.ts.map +1 -1
  53. package/dist/types/plugins/fire-emt/nifc-wildfire.plugin.d.ts +43 -0
  54. package/dist/types/plugins/fire-emt/nifc-wildfire.plugin.d.ts.map +1 -0
  55. package/dist/types/plugins/fire-emt/phoenix-fire.plugin.d.ts +21 -13
  56. package/dist/types/plugins/fire-emt/phoenix-fire.plugin.d.ts.map +1 -1
  57. package/dist/types/plugins/index.d.ts +2 -6
  58. package/dist/types/plugins/index.d.ts.map +1 -1
  59. package/dist/types/plugins/traffic/arizona-traffic.plugin.d.ts +5 -14
  60. package/dist/types/plugins/traffic/arizona-traffic.plugin.d.ts.map +1 -1
  61. package/package.json +1 -11
  62. package/dist/cjs/plugins/police-blotter/index.js +0 -6
  63. package/dist/cjs/plugins/police-blotter/index.js.map +0 -1
  64. package/dist/cjs/plugins/police-blotter/phoenix-police.plugin.js +0 -198
  65. package/dist/cjs/plugins/police-blotter/phoenix-police.plugin.js.map +0 -1
  66. package/dist/cjs/plugins/pulsepoint/index.js +0 -6
  67. package/dist/cjs/plugins/pulsepoint/index.js.map +0 -1
  68. package/dist/cjs/plugins/pulsepoint/pulsepoint.plugin.js +0 -275
  69. package/dist/cjs/plugins/pulsepoint/pulsepoint.plugin.js.map +0 -1
  70. package/dist/esm/plugins/police-blotter/index.js +0 -2
  71. package/dist/esm/plugins/police-blotter/index.js.map +0 -1
  72. package/dist/esm/plugins/police-blotter/phoenix-police.plugin.js +0 -194
  73. package/dist/esm/plugins/police-blotter/phoenix-police.plugin.js.map +0 -1
  74. package/dist/esm/plugins/pulsepoint/index.js +0 -2
  75. package/dist/esm/plugins/pulsepoint/index.js.map +0 -1
  76. package/dist/esm/plugins/pulsepoint/pulsepoint.plugin.js +0 -271
  77. package/dist/esm/plugins/pulsepoint/pulsepoint.plugin.js.map +0 -1
  78. package/dist/types/plugins/police-blotter/index.d.ts +0 -3
  79. package/dist/types/plugins/police-blotter/index.d.ts.map +0 -1
  80. package/dist/types/plugins/police-blotter/phoenix-police.plugin.d.ts +0 -49
  81. package/dist/types/plugins/police-blotter/phoenix-police.plugin.d.ts.map +0 -1
  82. package/dist/types/plugins/pulsepoint/index.d.ts +0 -3
  83. package/dist/types/plugins/pulsepoint/index.d.ts.map +0 -1
  84. package/dist/types/plugins/pulsepoint/pulsepoint.plugin.d.ts +0 -61
  85. package/dist/types/plugins/pulsepoint/pulsepoint.plugin.d.ts.map +0 -1
@@ -97,80 +97,63 @@ class ArizonaTrafficPlugin extends base_plugin_1.BasePlugin {
97
97
  }
98
98
  }
99
99
  /**
100
- * Fetch traffic events from ADOT sources.
100
+ * Fetch traffic events from ADOT consolidated endpoint.
101
101
  */
102
102
  async fetchTrafficEvents(location, radiusMeters, warnings) {
103
- const allAlerts = [];
104
- // Fetch from multiple ADOT endpoints
105
- const sources = [
106
- { url: this.buildIncidentsUrl(location), type: 'incidents' },
107
- { url: this.buildConstructionUrl(location), type: 'construction' },
108
- { url: this.buildClosuresUrl(location), type: 'closures' },
109
- ];
110
- for (const source of sources) {
111
- if (!this.trafficConfig.includeConstruction && source.type === 'construction') {
112
- continue;
113
- }
114
- try {
115
- const events = await this.fetchFromSource(source.url, source.type);
116
- const filtered = events.filter((event) => {
117
- // Filter by location
118
- const distance = this.calculateDistance(location.latitude, location.longitude, event.latitude, event.longitude);
119
- if (distance > radiusMeters)
103
+ try {
104
+ // ADOT now uses a single consolidated endpoint for all traffic events
105
+ const events = await this.fetchFromSource(this.buildTrafficEventsUrl(), 'traffic');
106
+ const filtered = events.filter((event) => {
107
+ // Filter by location
108
+ const distance = this.calculateDistance(location.latitude, location.longitude, event.latitude, event.longitude);
109
+ if (distance > radiusMeters)
110
+ return false;
111
+ // Filter out construction if not configured
112
+ if (!this.trafficConfig.includeConstruction) {
113
+ const eventType = (event.event_type ?? '').toUpperCase();
114
+ if (eventType.includes('CONSTRUCTION') || eventType.includes('ROADWORK')) {
120
115
  return false;
121
- // Filter by closures only if configured
122
- if (this.trafficConfig.closuresOnly) {
123
- const eventType = (event.event_type ?? '').toUpperCase();
124
- if (!eventType.includes('CLOSURE') && !eventType.includes('CLOSED')) {
125
- return false;
126
- }
127
116
  }
128
- // Filter by minimum delay
129
- if (this.trafficConfig.minDelayMinutes && event.delay_minutes) {
130
- if (event.delay_minutes < this.trafficConfig.minDelayMinutes) {
131
- return false;
132
- }
117
+ }
118
+ // Filter by closures only if configured
119
+ if (this.trafficConfig.closuresOnly) {
120
+ const eventType = (event.event_type ?? '').toUpperCase();
121
+ if (!eventType.includes('CLOSURE') && !eventType.includes('CLOSED')) {
122
+ return false;
133
123
  }
134
- return true;
135
- });
136
- const alerts = filtered.map((event) => this.transformEvent(event));
137
- allAlerts.push(...alerts);
138
- }
139
- catch (error) {
140
- warnings.push(`Failed to fetch ${source.type}: ${error instanceof Error ? error.message : 'Unknown error'}`);
141
- }
124
+ }
125
+ // Filter by minimum delay
126
+ if (this.trafficConfig.minDelayMinutes && event.delay_minutes) {
127
+ if (event.delay_minutes < this.trafficConfig.minDelayMinutes) {
128
+ return false;
129
+ }
130
+ }
131
+ return true;
132
+ });
133
+ const alerts = filtered.map((event) => this.transformEvent(event));
134
+ // Deduplicate by ID
135
+ const seen = new Set();
136
+ return alerts.filter((alert) => {
137
+ if (seen.has(alert.id))
138
+ return false;
139
+ seen.add(alert.id);
140
+ return true;
141
+ });
142
+ }
143
+ catch (error) {
144
+ warnings.push(`Failed to fetch traffic events: ${error instanceof Error ? error.message : 'Unknown error'}`);
145
+ return [];
142
146
  }
143
- // Deduplicate by ID
144
- const seen = new Set();
145
- return allAlerts.filter((alert) => {
146
- if (seen.has(alert.id))
147
- return false;
148
- seen.add(alert.id);
149
- return true;
150
- });
151
- }
152
- /**
153
- * Build URL for traffic incidents.
154
- * Note: Location filtering is done client-side after fetching all Arizona data.
155
- */
156
- buildIncidentsUrl(_location) {
157
- // ADOT Open Data Portal - Traffic Events
158
- // Note: This is a public GeoJSON endpoint
159
- return 'https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ADOT_Traffic_Events/FeatureServer/0/query?where=1%3D1&outFields=*&f=geojson';
160
- }
161
- /**
162
- * Build URL for construction events.
163
- * Note: Location filtering is done client-side after fetching all Arizona data.
164
- */
165
- buildConstructionUrl(_location) {
166
- return 'https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ADOT_Construction_Projects/FeatureServer/0/query?where=1%3D1&outFields=*&f=geojson';
167
147
  }
168
148
  /**
169
- * Build URL for road closures.
170
- * Note: Location filtering is done client-side after fetching all Arizona data.
149
+ * Build URL for traffic events (incidents, construction, closures).
150
+ * Note: ADOT consolidated all traffic events into a single endpoint.
151
+ * Location filtering is done client-side after fetching all Arizona data.
171
152
  */
172
- buildClosuresUrl(_location) {
173
- return 'https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ADOT_Road_Closures/FeatureServer/0/query?where=1%3D1&outFields=*&f=geojson';
153
+ buildTrafficEventsUrl() {
154
+ // ADOT Open Data Portal - Traffic Events (consolidated endpoint)
155
+ // Note: This is a public GeoJSON endpoint on the updated ArcGIS server
156
+ return 'https://services6.arcgis.com/clPWQMwZfdWn4MQZ/arcgis/rest/services/ADOT_Traffic_Events/FeatureServer/0/query?where=1%3D1&outFields=*&f=geojson';
174
157
  }
175
158
  /**
176
159
  * Fetch from a specific source and normalize the data.
@@ -212,26 +195,36 @@ class ArizonaTrafficPlugin extends base_plugin_1.BasePlugin {
212
195
  latitude = coords[0][1];
213
196
  }
214
197
  }
198
+ // Handle timestamp fields (ADOT uses epoch milliseconds)
199
+ const parseTimestamp = (value) => {
200
+ if (typeof value === 'number') {
201
+ return new Date(value).toISOString();
202
+ }
203
+ if (typeof value === 'string') {
204
+ return value;
205
+ }
206
+ return undefined;
207
+ };
215
208
  return {
216
- id: feature.id?.toString() ?? String(props.OBJECTID ?? props.id ?? Date.now()),
217
- event_type: String(props.EVENT_TYPE ?? props.Type ?? props.event_type ?? sourceType).toUpperCase(),
218
- event_subtype: props.EVENT_SUBTYPE,
219
- severity: props.SEVERITY,
209
+ id: feature.id?.toString() ?? String(props.ObjectId ?? props.ID ?? props.OBJECTID ?? Date.now()),
210
+ event_type: String(props.EventType ?? props.EVENT_TYPE ?? props.Type ?? sourceType).toUpperCase(),
211
+ event_subtype: (props.EventSubType ?? props.EVENT_SUBTYPE),
212
+ severity: (props.Severity ?? props.SEVERITY),
220
213
  headline: (props.HEADLINE ?? props.Title ?? props.headline),
221
- description: (props.DESCRIPTION ?? props.Description ?? props.description),
222
- road_name: (props.ROAD_NAME ?? props.Route ?? props.road_name),
223
- direction: props.DIRECTION,
214
+ description: (props.Description ?? props.DESCRIPTION),
215
+ road_name: (props.RoadwayName ?? props.ROAD_NAME ?? props.Route),
216
+ direction: (props.DirectionOfTravel ?? props.DIRECTION),
224
217
  from_location: props.FROM_LOCATION,
225
218
  to_location: props.TO_LOCATION,
226
219
  latitude,
227
220
  longitude,
228
- start_time: (props.START_TIME ?? props.StartDate ?? props.start_time),
229
- end_time: (props.END_TIME ?? props.EndDate ?? props.end_time),
230
- last_updated: (props.LAST_UPDATED ?? props.LastUpdated ?? props.last_updated),
231
- lanes_affected: props.LANES_AFFECTED,
221
+ start_time: parseTimestamp(props.StartDate ?? props.START_TIME ?? props.Reported),
222
+ end_time: parseTimestamp(props.PlannedEndDate ?? props.END_TIME ?? props.EndDate),
223
+ last_updated: parseTimestamp(props.LastUpdated ?? props.LAST_UPDATED),
224
+ lanes_affected: (props.LanesAffected ?? props.LANES_AFFECTED),
232
225
  lanes_blocked: props.LANES_BLOCKED,
233
226
  delay_minutes: props.DELAY_MINUTES,
234
- is_major: Boolean(props.IS_MAJOR ?? props.Major),
227
+ is_major: Boolean(props.IsFullClosure ?? props.IS_MAJOR ?? props.Major),
235
228
  };
236
229
  }
237
230
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"arizona-traffic.plugin.js","sourceRoot":"","sources":["../../../../src/plugins/traffic/arizona-traffic.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arizona-traffic.plugin.js","sourceRoot":"","sources":["../../../../src/plugins/traffic/arizona-traffic.plugin.ts"],"names":[],"mappings":"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"}
@@ -41,11 +41,13 @@ export class AlertAggregator {
41
41
  /**
42
42
  * Remove duplicate alerts based on ID and source.
43
43
  *
44
- * If two alerts have the same external ID from the same source,
44
+ * If two alerts have the same ID or the same external ID from the same source,
45
45
  * keep the one with the most recent issued timestamp.
46
46
  */
47
47
  deduplicate(alerts) {
48
- const seen = new Map();
48
+ // Use two maps: one for lookup and one for tracking unique alerts
49
+ const seenByPrimaryKey = new Map();
50
+ const seenBySecondaryKey = new Map(); // secondary key -> primary key
49
51
  for (const alert of alerts) {
50
52
  // Primary dedup key: alert ID
51
53
  const primaryKey = alert.id;
@@ -53,29 +55,36 @@ export class AlertAggregator {
53
55
  const secondaryKey = alert.source.externalId
54
56
  ? `${alert.source.pluginId}:${alert.source.externalId}`
55
57
  : null;
58
+ // Check if we've seen this secondary key before
59
+ if (secondaryKey) {
60
+ const existingPrimaryKey = seenBySecondaryKey.get(secondaryKey);
61
+ if (existingPrimaryKey) {
62
+ const existing = seenByPrimaryKey.get(existingPrimaryKey);
63
+ if (existing && new Date(alert.timestamps.issued) > new Date(existing.timestamps.issued)) {
64
+ // Replace with newer alert
65
+ seenByPrimaryKey.delete(existingPrimaryKey);
66
+ seenByPrimaryKey.set(primaryKey, alert);
67
+ seenBySecondaryKey.set(secondaryKey, primaryKey);
68
+ }
69
+ continue;
70
+ }
71
+ }
56
72
  // Check primary key
57
- const existingPrimary = seen.get(primaryKey);
73
+ const existingPrimary = seenByPrimaryKey.get(primaryKey);
58
74
  if (existingPrimary) {
59
75
  // Keep the more recent one
60
76
  if (new Date(alert.timestamps.issued) > new Date(existingPrimary.timestamps.issued)) {
61
- seen.set(primaryKey, alert);
77
+ seenByPrimaryKey.set(primaryKey, alert);
62
78
  }
63
79
  continue;
64
80
  }
65
- // Check secondary key
81
+ // New alert - store it
82
+ seenByPrimaryKey.set(primaryKey, alert);
66
83
  if (secondaryKey) {
67
- const existingSecondary = seen.get(secondaryKey);
68
- if (existingSecondary) {
69
- if (new Date(alert.timestamps.issued) > new Date(existingSecondary.timestamps.issued)) {
70
- seen.set(secondaryKey, alert);
71
- }
72
- continue;
73
- }
74
- seen.set(secondaryKey, alert);
84
+ seenBySecondaryKey.set(secondaryKey, primaryKey);
75
85
  }
76
- seen.set(primaryKey, alert);
77
86
  }
78
- return Array.from(seen.values());
87
+ return Array.from(seenByPrimaryKey.values());
79
88
  }
80
89
  /**
81
90
  * Filter alerts by minimum risk level.
@@ -1 +1 @@
1
- {"version":3,"file":"alert-aggregator.js","sourceRoot":"","sources":["../../../src/core/alert-aggregator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AA+B3C;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAoB,EAAE,UAA4B,EAAE;QAC5D,qBAAqB;QACrB,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAE9B,cAAc;QACd,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,uBAAuB;QACvB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/E,CAAC;QAED,kDAAkD;QAClD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;QAE1D,cAAc;QACd,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,8BAA8B;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;YAE5B,yDAAyD;YACzD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;gBAC1C,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBACvD,CAAC,CAAC,IAAI,CAAC;YAET,oBAAoB;YACpB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,eAAe,EAAE,CAAC;gBACpB,2BAA2B;gBAC3B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpF,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,sBAAsB;YACtB,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtF,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBAChC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAe,EAAE,QAAmB;QACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,MAAe,EAAE,KAAgB;QACjD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAE/C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,mCAAmC;YACnC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/D,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,+BAA+B;YAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU;gBAC5C,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;gBACjD,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ;gBACxC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;gBAC/C,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC7C,mDAAmD;gBACnD,OAAO,UAAU,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,CAAC;YAC1D,CAAC;YAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,2CAA2C;gBAC3C,OAAO,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,CAAC;YAC5D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAe,EAAE,MAAgB,EAAE,YAAoB;QACpE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjE,OAAO,QAAQ,IAAI,YAAY,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAe,EAAE,MAAwB;QAC5C,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,UAAU,KAAK,CAAC;oBAAE,OAAO,UAAU,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,CAAQ,EAAE,CAAQ,EAAE,KAAqB;QACvD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,cAAc;gBACjB,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,KAAK,eAAe;gBAClB,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,KAAK,UAAU;gBACb,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzE,KAAK,WAAW;gBACd,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzE,KAAK,UAAU;gBACb,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3F,KAAK,WAAW;gBACd,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3F,KAAK,cAAc,CAAC;YACpB,KAAK,eAAe;gBAClB,8EAA8E;gBAC9E,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAe,EAAE,MAAgB,EAAE,SAAS,GAAG,IAAI;QAChE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAe;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAe;QAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"alert-aggregator.js","sourceRoot":"","sources":["../../../src/core/alert-aggregator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AA+B3C;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAoB,EAAE,UAA4B,EAAE;QAC5D,qBAAqB;QACrB,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAE9B,cAAc;QACd,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,uBAAuB;QACvB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/E,CAAC;QAED,kDAAkD;QAClD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;QAE1D,cAAc;QACd,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiB,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,+BAA+B;QAErF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,8BAA8B;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;YAE5B,yDAAyD;YACzD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;gBAC1C,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBACvD,CAAC,CAAC,IAAI,CAAC;YAET,gDAAgD;YAChD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAC1D,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzF,2BAA2B;wBAC3B,gBAAgB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBAC5C,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;wBACxC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;oBACnD,CAAC;oBACD,SAAS;gBACX,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,eAAe,EAAE,CAAC;gBACpB,2BAA2B;gBAC3B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpF,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,SAAS;YACX,CAAC;YAED,uBAAuB;YACvB,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,YAAY,EAAE,CAAC;gBACjB,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAe,EAAE,QAAmB;QACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,MAAe,EAAE,KAAgB;QACjD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAE/C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,mCAAmC;YACnC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/D,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,+BAA+B;YAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU;gBAC5C,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;gBACjD,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ;gBACxC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;gBAC/C,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC7C,mDAAmD;gBACnD,OAAO,UAAU,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,CAAC;YAC1D,CAAC;YAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,2CAA2C;gBAC3C,OAAO,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,CAAC;YAC5D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAe,EAAE,MAAgB,EAAE,YAAoB;QACpE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjE,OAAO,QAAQ,IAAI,YAAY,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAe,EAAE,MAAwB;QAC5C,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,UAAU,KAAK,CAAC;oBAAE,OAAO,UAAU,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,CAAQ,EAAE,CAAQ,EAAE,KAAqB;QACvD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,cAAc;gBACjB,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,KAAK,eAAe;gBAClB,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,KAAK,UAAU;gBACb,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzE,KAAK,WAAW;gBACd,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzE,KAAK,UAAU;gBACb,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3F,KAAK,WAAW;gBACd,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3F,KAAK,cAAc,CAAC;YACpB,KAAK,eAAe;gBAClB,8EAA8E;gBAC9E,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAe,EAAE,MAAgB,EAAE,SAAS,GAAG,IAAI;QAChE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAe;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAe;QAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
package/dist/esm/index.js CHANGED
@@ -19,9 +19,7 @@ export { withRetry, withTimeout, sleep, TimeoutError } from './utils';
19
19
  export { BasePlugin } from './plugins';
20
20
  // Built-in plugins
21
21
  export { NWSWeatherPlugin } from './plugins/weather';
22
- export { PhoenixPolicePlugin } from './plugins/police-blotter';
23
- export { PhoenixFirePlugin } from './plugins/fire-emt';
24
- export { PulsepointPlugin } from './plugins/pulsepoint';
22
+ export { PhoenixFirePlugin, NIFCWildfirePlugin } from './plugins/fire-emt';
25
23
  export { PhoenixEventsPlugin } from './plugins/events';
26
24
  export { ArizonaTrafficPlugin } from './plugins/traffic';
27
25
  export { AirNowPlugin } from './plugins/air-quality';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAwC9D,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,UAAU;AACV,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,SAAS;AACT,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,gBAAgB;AAChB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,OAAO,CAAC;AAEf,kBAAkB;AAClB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,oBAAoB;AACpB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGtE,0CAA0C;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAwC9D,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,UAAU;AACV,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,SAAS;AACT,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,gBAAgB;AAChB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,OAAO,CAAC;AAEf,kBAAkB;AAClB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,oBAAoB;AACpB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGtE,0CAA0C;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { PhoenixEventsPlugin } from './phoenix-events.plugin';
2
+ export { PhoenixConventionCenterPlugin } from './phoenix-convention-center.plugin';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,231 @@
1
+ import { BasePlugin } from '../base-plugin';
2
+ /**
3
+ * Phoenix Convention Center coordinates.
4
+ */
5
+ const CONVENTION_CENTER_LOCATION = {
6
+ latitude: 33.4419,
7
+ longitude: -112.0711,
8
+ };
9
+ /**
10
+ * Venue locations for different event types.
11
+ */
12
+ const VENUE_LOCATIONS = {
13
+ B: { name: 'Phoenix Convention Center', latitude: 33.4419, longitude: -112.0711 },
14
+ O: { name: 'Orpheum Theatre', latitude: 33.4461, longitude: -112.0710 },
15
+ S: { name: 'Symphony Hall', latitude: 33.4459, longitude: -112.0712 },
16
+ M: { name: 'Phoenix Convention Center', latitude: 33.4419, longitude: -112.0711 },
17
+ };
18
+ /**
19
+ * Coverage radius in meters (downtown Phoenix area).
20
+ */
21
+ const COVERAGE_RADIUS_METERS = 5_000;
22
+ /**
23
+ * Keywords that indicate potentially high-impact events.
24
+ */
25
+ const HIGH_IMPACT_KEYWORDS = [
26
+ 'final four',
27
+ 'super bowl',
28
+ 'championship',
29
+ 'convention',
30
+ 'expo',
31
+ 'conference',
32
+ 'festival',
33
+ 'marathon',
34
+ 'parade',
35
+ ];
36
+ /**
37
+ * Plugin that fetches events from Phoenix Convention Center, Orpheum Theatre, and Symphony Hall.
38
+ *
39
+ * Uses the Ungerboeck event management system API.
40
+ *
41
+ * @see https://www.phoenixconventioncenter.com/events
42
+ */
43
+ export class PhoenixConventionCenterPlugin extends BasePlugin {
44
+ metadata = {
45
+ id: 'phoenix-convention-center',
46
+ name: 'Phoenix Convention Center',
47
+ version: '1.0.0',
48
+ description: 'Events from Phoenix Convention Center, Orpheum Theatre, and Symphony Hall',
49
+ coverage: {
50
+ type: 'regional',
51
+ center: CONVENTION_CENTER_LOCATION,
52
+ radiusMeters: COVERAGE_RADIUS_METERS,
53
+ description: 'Downtown Phoenix venues (Convention Center, Orpheum, Symphony Hall)',
54
+ },
55
+ supportedTemporalTypes: ['scheduled'],
56
+ supportedCategories: ['event'],
57
+ refreshIntervalMs: 60 * 60 * 1000, // 1 hour
58
+ };
59
+ pluginConfig;
60
+ constructor(config) {
61
+ super(config);
62
+ this.pluginConfig = {
63
+ includeOrpheum: true,
64
+ includeSymphonyHall: true,
65
+ limit: 100,
66
+ ...config,
67
+ };
68
+ }
69
+ async fetchAlerts(options) {
70
+ const cacheKey = this.generateCacheKey(options);
71
+ try {
72
+ const { data, fromCache } = await this.getCachedOrFetch(cacheKey, () => this.fetchEvents(options), this.config.cacheTtlMs);
73
+ return {
74
+ alerts: data,
75
+ fromCache,
76
+ cacheKey,
77
+ };
78
+ }
79
+ catch (error) {
80
+ console.error('Phoenix Convention Center fetch error:', error);
81
+ throw error;
82
+ }
83
+ }
84
+ /**
85
+ * Fetch events from the convention center API.
86
+ */
87
+ async fetchEvents(options) {
88
+ const { timeRange } = options;
89
+ // Build API URL with start date
90
+ const startDate = timeRange.start.split('T')[0];
91
+ const url = `https://phoenixcc-web.ungerboeck.com/Digital_Services/api/events/getall?orgcode=01&start=${startDate}`;
92
+ const events = await this.fetchJson(url);
93
+ if (!Array.isArray(events)) {
94
+ return [];
95
+ }
96
+ // Filter and transform events
97
+ const endDate = new Date(timeRange.end);
98
+ const alerts = [];
99
+ for (const event of events) {
100
+ // Filter by event type
101
+ if (!this.shouldIncludeEvent(event)) {
102
+ continue;
103
+ }
104
+ // Filter by time range
105
+ const eventStart = new Date(event.start);
106
+ if (eventStart > endDate) {
107
+ continue;
108
+ }
109
+ alerts.push(this.transformEvent(event));
110
+ if (alerts.length >= this.pluginConfig.limit) {
111
+ break;
112
+ }
113
+ }
114
+ return alerts;
115
+ }
116
+ /**
117
+ * Check if an event should be included based on configuration.
118
+ */
119
+ shouldIncludeEvent(event) {
120
+ const eventType = event.event_type;
121
+ // Always include convention center events
122
+ if (eventType === 'B' || eventType === 'M') {
123
+ return true;
124
+ }
125
+ // Check Orpheum
126
+ if (eventType === 'O' && !this.pluginConfig.includeOrpheum) {
127
+ return false;
128
+ }
129
+ // Check Symphony Hall
130
+ if (eventType === 'S' && !this.pluginConfig.includeSymphonyHall) {
131
+ return false;
132
+ }
133
+ return true;
134
+ }
135
+ /**
136
+ * Transform a convention center event to our Alert format.
137
+ */
138
+ transformEvent(event) {
139
+ const venue = this.getVenue(event.event_type);
140
+ const riskLevel = this.assessEventRisk(event);
141
+ return this.createAlert({
142
+ id: `pcc-${event.id}`,
143
+ externalId: event.id,
144
+ title: this.cleanTitle(event.title),
145
+ description: this.buildDescription(event, venue),
146
+ riskLevel,
147
+ priority: this.riskLevelToPriority(riskLevel),
148
+ category: 'event',
149
+ temporalType: 'scheduled',
150
+ location: {
151
+ point: { latitude: venue.latitude, longitude: venue.longitude },
152
+ address: venue.name,
153
+ city: 'Phoenix',
154
+ state: 'AZ',
155
+ },
156
+ timestamps: {
157
+ issued: new Date().toISOString(),
158
+ eventStart: event.start,
159
+ eventEnd: event.end,
160
+ },
161
+ url: event.event_url || undefined,
162
+ metadata: {
163
+ source: 'phoenix-convention-center',
164
+ venue: venue.name,
165
+ eventType: event.event_type,
166
+ allDay: event.allDay === 'True',
167
+ },
168
+ });
169
+ }
170
+ /**
171
+ * Get venue information from event type.
172
+ */
173
+ getVenue(eventType) {
174
+ return VENUE_LOCATIONS[eventType] ?? VENUE_LOCATIONS.B;
175
+ }
176
+ /**
177
+ * Clean up event title.
178
+ */
179
+ cleanTitle(title) {
180
+ // Remove common suffixes and clean up
181
+ return title
182
+ .replace(/\s*\(Cancelling\)\s*/gi, '')
183
+ .replace(/\s*\(Cancelled\)\s*/gi, '')
184
+ .replace(/^FOTOT:\s*/i, '') // Remove internal prefix
185
+ .trim();
186
+ }
187
+ /**
188
+ * Assess risk level for an event based on expected impact.
189
+ */
190
+ assessEventRisk(event) {
191
+ const title = event.title.toLowerCase();
192
+ const description = (event.event_notes_description || '').toLowerCase();
193
+ const combined = `${title} ${description}`;
194
+ // Check for high-impact keywords
195
+ for (const keyword of HIGH_IMPACT_KEYWORDS) {
196
+ if (combined.includes(keyword)) {
197
+ return 'moderate';
198
+ }
199
+ }
200
+ // Convention center events (type B) tend to be larger
201
+ if (event.event_type === 'B') {
202
+ return 'moderate';
203
+ }
204
+ // Multi-day events suggest larger gatherings
205
+ if (event.start_date_formatted !== event.end_date_formatted) {
206
+ return 'moderate';
207
+ }
208
+ return 'low';
209
+ }
210
+ /**
211
+ * Build description from event data.
212
+ */
213
+ buildDescription(event, venue) {
214
+ const parts = [];
215
+ parts.push(`Venue: ${venue.name}`);
216
+ if (event.start_date_formatted === event.end_date_formatted) {
217
+ parts.push(`Date: ${event.start_date_week_formatted}, ${event.start_date_formatted}`);
218
+ if (event.allDay !== 'True') {
219
+ parts.push(`Time: ${event.start_time} - ${event.end_time}`);
220
+ }
221
+ }
222
+ else {
223
+ parts.push(`Dates: ${event.start_date_formatted} - ${event.end_date_formatted}`);
224
+ }
225
+ if (event.event_notes_description) {
226
+ parts.push(`\n${event.event_notes_description}`);
227
+ }
228
+ return parts.join('\n');
229
+ }
230
+ }
231
+ //# sourceMappingURL=phoenix-convention-center.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phoenix-convention-center.plugin.js","sourceRoot":"","sources":["../../../../src/plugins/events/phoenix-convention-center.plugin.ts"],"names":[],"mappings":"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"}