local-risk-alert-feed 0.1.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.
- package/dist/cjs/adapters/index.js +8 -0
- package/dist/cjs/adapters/index.js.map +1 -0
- package/dist/cjs/adapters/lambda.js +143 -0
- package/dist/cjs/adapters/lambda.js.map +1 -0
- package/dist/cjs/adapters/vercel.js +119 -0
- package/dist/cjs/adapters/vercel.js.map +1 -0
- package/dist/cjs/core/alert-aggregator.js +207 -0
- package/dist/cjs/core/alert-aggregator.js.map +1 -0
- package/dist/cjs/core/alert-feed.js +236 -0
- package/dist/cjs/core/alert-feed.js.map +1 -0
- package/dist/cjs/core/index.js +22 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/plugin-registry.js +193 -0
- package/dist/cjs/core/plugin-registry.js.map +1 -0
- package/dist/cjs/core/plugin-resolver.js +121 -0
- package/dist/cjs/core/plugin-resolver.js.map +1 -0
- package/dist/cjs/core/time-range.js +67 -0
- package/dist/cjs/core/time-range.js.map +1 -0
- package/dist/cjs/errors/fetch-error.js +71 -0
- package/dist/cjs/errors/fetch-error.js.map +1 -0
- package/dist/cjs/errors/index.js +15 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors/plugin-error.js +80 -0
- package/dist/cjs/errors/plugin-error.js.map +1 -0
- package/dist/cjs/errors/validation-error.js +49 -0
- package/dist/cjs/errors/validation-error.js.map +1 -0
- package/dist/cjs/geo/distance.js +94 -0
- package/dist/cjs/geo/distance.js.map +1 -0
- package/dist/cjs/geo/index.js +18 -0
- package/dist/cjs/geo/index.js.map +1 -0
- package/dist/cjs/geo/point-in-radius.js +86 -0
- package/dist/cjs/geo/point-in-radius.js.map +1 -0
- package/dist/cjs/index.js +90 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/plugins/air-quality/airnow.plugin.js +343 -0
- package/dist/cjs/plugins/air-quality/airnow.plugin.js.map +1 -0
- package/dist/cjs/plugins/air-quality/index.js +6 -0
- package/dist/cjs/plugins/air-quality/index.js.map +1 -0
- package/dist/cjs/plugins/base-plugin.js +213 -0
- package/dist/cjs/plugins/base-plugin.js.map +1 -0
- package/dist/cjs/plugins/events/index.js +6 -0
- package/dist/cjs/plugins/events/index.js.map +1 -0
- package/dist/cjs/plugins/events/phoenix-events.plugin.js +382 -0
- package/dist/cjs/plugins/events/phoenix-events.plugin.js.map +1 -0
- package/dist/cjs/plugins/fire-emt/index.js +6 -0
- package/dist/cjs/plugins/fire-emt/index.js.map +1 -0
- package/dist/cjs/plugins/fire-emt/phoenix-fire.plugin.js +262 -0
- package/dist/cjs/plugins/fire-emt/phoenix-fire.plugin.js.map +1 -0
- package/dist/cjs/plugins/index.js +28 -0
- package/dist/cjs/plugins/index.js.map +1 -0
- package/dist/cjs/plugins/police-blotter/index.js +6 -0
- package/dist/cjs/plugins/police-blotter/index.js.map +1 -0
- package/dist/cjs/plugins/police-blotter/phoenix-police.plugin.js +198 -0
- package/dist/cjs/plugins/police-blotter/phoenix-police.plugin.js.map +1 -0
- package/dist/cjs/plugins/pulsepoint/index.js +6 -0
- package/dist/cjs/plugins/pulsepoint/index.js.map +1 -0
- package/dist/cjs/plugins/pulsepoint/pulsepoint.plugin.js +275 -0
- package/dist/cjs/plugins/pulsepoint/pulsepoint.plugin.js.map +1 -0
- package/dist/cjs/plugins/traffic/arizona-traffic.plugin.js +391 -0
- package/dist/cjs/plugins/traffic/arizona-traffic.plugin.js.map +1 -0
- package/dist/cjs/plugins/traffic/index.js +6 -0
- package/dist/cjs/plugins/traffic/index.js.map +1 -0
- package/dist/cjs/plugins/weather/index.js +6 -0
- package/dist/cjs/plugins/weather/index.js.map +1 -0
- package/dist/cjs/plugins/weather/nws-weather.plugin.js +180 -0
- package/dist/cjs/plugins/weather/nws-weather.plugin.js.map +1 -0
- package/dist/cjs/schemas/alert.schema.js +93 -0
- package/dist/cjs/schemas/alert.schema.js.map +1 -0
- package/dist/cjs/schemas/index.js +24 -0
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/schemas/query.schema.js +76 -0
- package/dist/cjs/schemas/query.schema.js.map +1 -0
- package/dist/cjs/types/alert.js +35 -0
- package/dist/cjs/types/alert.js.map +1 -0
- package/dist/cjs/types/config.js +13 -0
- package/dist/cjs/types/config.js.map +1 -0
- package/dist/cjs/types/geo.js +3 -0
- package/dist/cjs/types/geo.js.map +1 -0
- package/dist/cjs/types/index.js +16 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/plugin.js +3 -0
- package/dist/cjs/types/plugin.js.map +1 -0
- package/dist/cjs/types/query.js +28 -0
- package/dist/cjs/types/query.js.map +1 -0
- package/dist/cjs/utils/cache.js +188 -0
- package/dist/cjs/utils/cache.js.map +1 -0
- package/dist/cjs/utils/csv.js +189 -0
- package/dist/cjs/utils/csv.js.map +1 -0
- package/dist/cjs/utils/date.js +153 -0
- package/dist/cjs/utils/date.js.map +1 -0
- package/dist/cjs/utils/index.js +28 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/retry.js +109 -0
- package/dist/cjs/utils/retry.js.map +1 -0
- package/dist/esm/adapters/index.js +3 -0
- package/dist/esm/adapters/index.js.map +1 -0
- package/dist/esm/adapters/lambda.js +140 -0
- package/dist/esm/adapters/lambda.js.map +1 -0
- package/dist/esm/adapters/vercel.js +116 -0
- package/dist/esm/adapters/vercel.js.map +1 -0
- package/dist/esm/core/alert-aggregator.js +203 -0
- package/dist/esm/core/alert-aggregator.js.map +1 -0
- package/dist/esm/core/alert-feed.js +232 -0
- package/dist/esm/core/alert-feed.js.map +1 -0
- package/dist/esm/core/index.js +6 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/plugin-registry.js +189 -0
- package/dist/esm/core/plugin-registry.js.map +1 -0
- package/dist/esm/core/plugin-resolver.js +117 -0
- package/dist/esm/core/plugin-resolver.js.map +1 -0
- package/dist/esm/core/time-range.js +57 -0
- package/dist/esm/core/time-range.js.map +1 -0
- package/dist/esm/errors/fetch-error.js +67 -0
- package/dist/esm/errors/fetch-error.js.map +1 -0
- package/dist/esm/errors/index.js +4 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors/plugin-error.js +71 -0
- package/dist/esm/errors/plugin-error.js.map +1 -0
- package/dist/esm/errors/validation-error.js +45 -0
- package/dist/esm/errors/validation-error.js.map +1 -0
- package/dist/esm/geo/distance.js +85 -0
- package/dist/esm/geo/distance.js.map +1 -0
- package/dist/esm/geo/index.js +3 -0
- package/dist/esm/geo/index.js.map +1 -0
- package/dist/esm/geo/point-in-radius.js +79 -0
- package/dist/esm/geo/point-in-radius.js.map +1 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/plugins/air-quality/airnow.plugin.js +339 -0
- package/dist/esm/plugins/air-quality/airnow.plugin.js.map +1 -0
- package/dist/esm/plugins/air-quality/index.js +2 -0
- package/dist/esm/plugins/air-quality/index.js.map +1 -0
- package/dist/esm/plugins/base-plugin.js +209 -0
- package/dist/esm/plugins/base-plugin.js.map +1 -0
- package/dist/esm/plugins/events/index.js +2 -0
- package/dist/esm/plugins/events/index.js.map +1 -0
- package/dist/esm/plugins/events/phoenix-events.plugin.js +378 -0
- package/dist/esm/plugins/events/phoenix-events.plugin.js.map +1 -0
- package/dist/esm/plugins/fire-emt/index.js +2 -0
- package/dist/esm/plugins/fire-emt/index.js.map +1 -0
- package/dist/esm/plugins/fire-emt/phoenix-fire.plugin.js +258 -0
- package/dist/esm/plugins/fire-emt/phoenix-fire.plugin.js.map +1 -0
- package/dist/esm/plugins/index.js +17 -0
- package/dist/esm/plugins/index.js.map +1 -0
- package/dist/esm/plugins/police-blotter/index.js +2 -0
- package/dist/esm/plugins/police-blotter/index.js.map +1 -0
- package/dist/esm/plugins/police-blotter/phoenix-police.plugin.js +194 -0
- package/dist/esm/plugins/police-blotter/phoenix-police.plugin.js.map +1 -0
- package/dist/esm/plugins/pulsepoint/index.js +2 -0
- package/dist/esm/plugins/pulsepoint/index.js.map +1 -0
- package/dist/esm/plugins/pulsepoint/pulsepoint.plugin.js +271 -0
- package/dist/esm/plugins/pulsepoint/pulsepoint.plugin.js.map +1 -0
- package/dist/esm/plugins/traffic/arizona-traffic.plugin.js +387 -0
- package/dist/esm/plugins/traffic/arizona-traffic.plugin.js.map +1 -0
- package/dist/esm/plugins/traffic/index.js +2 -0
- package/dist/esm/plugins/traffic/index.js.map +1 -0
- package/dist/esm/plugins/weather/index.js +2 -0
- package/dist/esm/plugins/weather/index.js.map +1 -0
- package/dist/esm/plugins/weather/nws-weather.plugin.js +176 -0
- package/dist/esm/plugins/weather/nws-weather.plugin.js.map +1 -0
- package/dist/esm/schemas/alert.schema.js +90 -0
- package/dist/esm/schemas/alert.schema.js.map +1 -0
- package/dist/esm/schemas/index.js +5 -0
- package/dist/esm/schemas/index.js.map +1 -0
- package/dist/esm/schemas/query.schema.js +72 -0
- package/dist/esm/schemas/query.schema.js.map +1 -0
- package/dist/esm/types/alert.js +32 -0
- package/dist/esm/types/alert.js.map +1 -0
- package/dist/esm/types/config.js +10 -0
- package/dist/esm/types/config.js.map +1 -0
- package/dist/esm/types/geo.js +2 -0
- package/dist/esm/types/geo.js.map +1 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/plugin.js +2 -0
- package/dist/esm/types/plugin.js.map +1 -0
- package/dist/esm/types/query.js +25 -0
- package/dist/esm/types/query.js.map +1 -0
- package/dist/esm/utils/cache.js +181 -0
- package/dist/esm/utils/cache.js.map +1 -0
- package/dist/esm/utils/csv.js +185 -0
- package/dist/esm/utils/csv.js.map +1 -0
- package/dist/esm/utils/date.js +142 -0
- package/dist/esm/utils/date.js.map +1 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/retry.js +102 -0
- package/dist/esm/utils/retry.js.map +1 -0
- package/dist/types/adapters/index.d.ts +5 -0
- package/dist/types/adapters/index.d.ts.map +1 -0
- package/dist/types/adapters/lambda.d.ts +37 -0
- package/dist/types/adapters/lambda.d.ts.map +1 -0
- package/dist/types/adapters/vercel.d.ts +54 -0
- package/dist/types/adapters/vercel.d.ts.map +1 -0
- package/dist/types/core/alert-aggregator.d.ts +81 -0
- package/dist/types/core/alert-aggregator.d.ts.map +1 -0
- package/dist/types/core/alert-feed.d.ts +80 -0
- package/dist/types/core/alert-feed.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +8 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/core/plugin-registry.d.ts +91 -0
- package/dist/types/core/plugin-registry.d.ts.map +1 -0
- package/dist/types/core/plugin-resolver.d.ts +78 -0
- package/dist/types/core/plugin-resolver.d.ts.map +1 -0
- package/dist/types/core/time-range.d.ts +40 -0
- package/dist/types/core/time-range.d.ts.map +1 -0
- package/dist/types/errors/fetch-error.d.ts +46 -0
- package/dist/types/errors/fetch-error.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +5 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/errors/plugin-error.d.ts +42 -0
- package/dist/types/errors/plugin-error.d.ts.map +1 -0
- package/dist/types/errors/validation-error.d.ts +34 -0
- package/dist/types/errors/validation-error.d.ts.map +1 -0
- package/dist/types/geo/distance.d.ts +50 -0
- package/dist/types/geo/distance.d.ts.map +1 -0
- package/dist/types/geo/index.d.ts +3 -0
- package/dist/types/geo/index.d.ts.map +1 -0
- package/dist/types/geo/point-in-radius.d.ts +44 -0
- package/dist/types/geo/point-in-radius.d.ts.map +1 -0
- package/dist/types/index.d.ts +32 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/plugins/air-quality/airnow.plugin.d.ts +84 -0
- package/dist/types/plugins/air-quality/airnow.plugin.d.ts.map +1 -0
- package/dist/types/plugins/air-quality/index.d.ts +3 -0
- package/dist/types/plugins/air-quality/index.d.ts.map +1 -0
- package/dist/types/plugins/base-plugin.d.ts +99 -0
- package/dist/types/plugins/base-plugin.d.ts.map +1 -0
- package/dist/types/plugins/events/index.d.ts +3 -0
- package/dist/types/plugins/events/index.d.ts.map +1 -0
- package/dist/types/plugins/events/phoenix-events.plugin.d.ts +71 -0
- package/dist/types/plugins/events/phoenix-events.plugin.d.ts.map +1 -0
- package/dist/types/plugins/fire-emt/index.d.ts +3 -0
- package/dist/types/plugins/fire-emt/index.d.ts.map +1 -0
- package/dist/types/plugins/fire-emt/phoenix-fire.plugin.d.ts +47 -0
- package/dist/types/plugins/fire-emt/phoenix-fire.plugin.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +17 -0
- package/dist/types/plugins/index.d.ts.map +1 -0
- package/dist/types/plugins/police-blotter/index.d.ts +3 -0
- package/dist/types/plugins/police-blotter/index.d.ts.map +1 -0
- package/dist/types/plugins/police-blotter/phoenix-police.plugin.d.ts +49 -0
- package/dist/types/plugins/police-blotter/phoenix-police.plugin.d.ts.map +1 -0
- package/dist/types/plugins/pulsepoint/index.d.ts +3 -0
- package/dist/types/plugins/pulsepoint/index.d.ts.map +1 -0
- package/dist/types/plugins/pulsepoint/pulsepoint.plugin.d.ts +61 -0
- package/dist/types/plugins/pulsepoint/pulsepoint.plugin.d.ts.map +1 -0
- package/dist/types/plugins/traffic/arizona-traffic.plugin.d.ts +83 -0
- package/dist/types/plugins/traffic/arizona-traffic.plugin.d.ts.map +1 -0
- package/dist/types/plugins/traffic/index.d.ts +3 -0
- package/dist/types/plugins/traffic/index.d.ts.map +1 -0
- package/dist/types/plugins/weather/index.d.ts +3 -0
- package/dist/types/plugins/weather/index.d.ts.map +1 -0
- package/dist/types/plugins/weather/nws-weather.plugin.d.ts +50 -0
- package/dist/types/plugins/weather/nws-weather.plugin.d.ts.map +1 -0
- package/dist/types/schemas/alert.schema.d.ts +266 -0
- package/dist/types/schemas/alert.schema.d.ts.map +1 -0
- package/dist/types/schemas/index.d.ts +5 -0
- package/dist/types/schemas/index.d.ts.map +1 -0
- package/dist/types/schemas/query.schema.d.ts +150 -0
- package/dist/types/schemas/query.schema.d.ts.map +1 -0
- package/dist/types/types/alert.d.ts +96 -0
- package/dist/types/types/alert.d.ts.map +1 -0
- package/dist/types/types/config.d.ts +63 -0
- package/dist/types/types/config.d.ts.map +1 -0
- package/dist/types/types/geo.d.ts +33 -0
- package/dist/types/types/geo.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +9 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/plugin.d.ts +125 -0
- package/dist/types/types/plugin.d.ts.map +1 -0
- package/dist/types/types/query.d.ts +86 -0
- package/dist/types/types/query.d.ts.map +1 -0
- package/dist/types/utils/cache.d.ts +112 -0
- package/dist/types/utils/cache.d.ts.map +1 -0
- package/dist/types/utils/csv.d.ts +38 -0
- package/dist/types/utils/csv.d.ts.map +1 -0
- package/dist/types/utils/date.d.ts +47 -0
- package/dist/types/utils/date.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/retry.d.ts +51 -0
- package/dist/types/utils/retry.d.ts.map +1 -0
- package/package.json +115 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { GeoPoint } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Earth's radius in meters (mean radius).
|
|
4
|
+
*/
|
|
5
|
+
export declare const EARTH_RADIUS_METERS = 6371008.8;
|
|
6
|
+
/**
|
|
7
|
+
* Convert degrees to radians.
|
|
8
|
+
*/
|
|
9
|
+
export declare function toRadians(degrees: number): number;
|
|
10
|
+
/**
|
|
11
|
+
* Convert radians to degrees.
|
|
12
|
+
*/
|
|
13
|
+
export declare function toDegrees(radians: number): number;
|
|
14
|
+
/**
|
|
15
|
+
* Calculate the Haversine distance between two geographic points.
|
|
16
|
+
*
|
|
17
|
+
* The Haversine formula calculates the great-circle distance between two points
|
|
18
|
+
* on a sphere given their latitudes and longitudes.
|
|
19
|
+
*
|
|
20
|
+
* @param point1 - First geographic point
|
|
21
|
+
* @param point2 - Second geographic point
|
|
22
|
+
* @returns Distance in meters
|
|
23
|
+
*/
|
|
24
|
+
export declare function haversineDistance(point1: GeoPoint, point2: GeoPoint): number;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate distance between two points (alias for haversineDistance).
|
|
27
|
+
*
|
|
28
|
+
* @param point1 - First geographic point
|
|
29
|
+
* @param point2 - Second geographic point
|
|
30
|
+
* @returns Distance in meters
|
|
31
|
+
*/
|
|
32
|
+
export declare function calculateDistance(point1: GeoPoint, point2: GeoPoint): number;
|
|
33
|
+
/**
|
|
34
|
+
* Calculate the bearing (direction) from one point to another.
|
|
35
|
+
*
|
|
36
|
+
* @param from - Starting point
|
|
37
|
+
* @param to - Ending point
|
|
38
|
+
* @returns Bearing in degrees (0-360, where 0 is north)
|
|
39
|
+
*/
|
|
40
|
+
export declare function calculateBearing(from: GeoPoint, to: GeoPoint): number;
|
|
41
|
+
/**
|
|
42
|
+
* Calculate a destination point given a start point, bearing, and distance.
|
|
43
|
+
*
|
|
44
|
+
* @param start - Starting point
|
|
45
|
+
* @param bearingDegrees - Bearing in degrees (0-360)
|
|
46
|
+
* @param distanceMeters - Distance in meters
|
|
47
|
+
* @returns Destination point
|
|
48
|
+
*/
|
|
49
|
+
export declare function destinationPoint(start: GeoPoint, bearingDegrees: number, distanceMeters: number): GeoPoint;
|
|
50
|
+
//# sourceMappingURL=distance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distance.d.ts","sourceRoot":"","sources":["../../../src/geo/distance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAc,CAAC;AAE/C;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAa5E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAE5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,CAWrE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GACrB,QAAQ,CAsBV"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { EARTH_RADIUS_METERS, toRadians, toDegrees, haversineDistance, calculateDistance, calculateBearing, destinationPoint, } from './distance';
|
|
2
|
+
export { isPointInRadius, isPointInCircle, isPointInBoundingBox, doCirclesOverlap, getBoundingBoxForRadius, } from './point-in-radius';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/geo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { GeoPoint, GeoBoundingBox, GeoCircle } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Check if a point is within a given radius of a center point.
|
|
4
|
+
*
|
|
5
|
+
* @param point - The point to check
|
|
6
|
+
* @param center - The center point
|
|
7
|
+
* @param radiusMeters - The radius in meters
|
|
8
|
+
* @returns true if the point is within the radius
|
|
9
|
+
*/
|
|
10
|
+
export declare function isPointInRadius(point: GeoPoint, center: GeoPoint, radiusMeters: number): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Check if a point is within a GeoCircle.
|
|
13
|
+
*
|
|
14
|
+
* @param point - The point to check
|
|
15
|
+
* @param circle - The circle definition
|
|
16
|
+
* @returns true if the point is within the circle
|
|
17
|
+
*/
|
|
18
|
+
export declare function isPointInCircle(point: GeoPoint, circle: GeoCircle): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Check if a point is within a bounding box.
|
|
21
|
+
*
|
|
22
|
+
* @param point - The point to check
|
|
23
|
+
* @param box - The bounding box
|
|
24
|
+
* @returns true if the point is within the bounding box
|
|
25
|
+
*/
|
|
26
|
+
export declare function isPointInBoundingBox(point: GeoPoint, box: GeoBoundingBox): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Check if two circles overlap.
|
|
29
|
+
*
|
|
30
|
+
* @param circle1 - First circle
|
|
31
|
+
* @param circle2 - Second circle
|
|
32
|
+
* @returns true if the circles overlap
|
|
33
|
+
*/
|
|
34
|
+
export declare function doCirclesOverlap(circle1: GeoCircle, circle2: GeoCircle): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Calculate a bounding box that contains a circle.
|
|
37
|
+
* This is useful for quick filtering before doing precise distance calculations.
|
|
38
|
+
*
|
|
39
|
+
* @param center - Center point of the circle
|
|
40
|
+
* @param radiusMeters - Radius in meters
|
|
41
|
+
* @returns A bounding box that contains the circle
|
|
42
|
+
*/
|
|
43
|
+
export declare function getBoundingBoxForRadius(center: GeoPoint, radiusMeters: number): GeoBoundingBox;
|
|
44
|
+
//# sourceMappingURL=point-in-radius.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"point-in-radius.d.ts","sourceRoot":"","sources":["../../../src/geo/point-in-radius.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAGhG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAE3E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAmBlF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAGhF;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,CAe9F"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { AlertFeed } from './core';
|
|
2
|
+
export { PluginRegistry, PluginResolver, AlertAggregator } from './core';
|
|
3
|
+
export { resolveTimeRange, normalizeTimeRange } from './core';
|
|
4
|
+
export type { PluginResolveOptions, ResolvedPlugin, AggregateOptions, AlertSortOrder } from './core';
|
|
5
|
+
export type { GeoPoint, GeoBoundingBox, GeoCircle, AlertLocation, Alert, RiskLevel, AlertPriority, AlertCategory, AlertTemporalType, AlertSourceType, AlertTimestamps, AlertSource, AlertPlugin, PluginMetadata, PluginCoverage, PluginCoverageType, PluginFetchOptions, PluginFetchResult, PluginResultInfo, AlertQuery, AlertQueryResponse, AlertQueryMeta, TimeRange, TimeRangePreset, TimeRangeInput, AlertFeedConfig, PluginRegistration, CacheProvider, } from './types';
|
|
6
|
+
export { RISK_LEVEL_VALUES, RISK_LEVELS, ALERT_CATEGORIES, ALERT_TEMPORAL_TYPES, TIME_RANGE_PRESETS, DEFAULT_QUERY_RADIUS_METERS, DEFAULT_QUERY_LIMIT, MAX_QUERY_LIMIT, DEFAULT_CONFIG, } from './types';
|
|
7
|
+
export { AlertSchema, AlertQuerySchema, AlertQueryRequestSchema, GeoPointSchema, TimeRangeSchema, transformRequestToQuery, } from './schemas';
|
|
8
|
+
export { PluginError, PluginInitializationError, PluginFetchError, PluginTimeoutError, DuplicatePluginError, PluginNotFoundError, ValidationError, FetchError, } from './errors';
|
|
9
|
+
export type { ValidationIssue } from './errors';
|
|
10
|
+
export { haversineDistance, calculateDistance, calculateBearing, destinationPoint, isPointInRadius, isPointInCircle, isPointInBoundingBox, doCirclesOverlap, getBoundingBoxForRadius, } from './geo';
|
|
11
|
+
export { InMemoryCacheProvider, VercelKVCacheProvider, DynamoDBCacheProvider, generateCacheKey, } from './utils';
|
|
12
|
+
export { withRetry, withTimeout, sleep, TimeoutError } from './utils';
|
|
13
|
+
export type { RetryOptions } from './utils';
|
|
14
|
+
export { BasePlugin } from './plugins';
|
|
15
|
+
export type { BasePluginConfig } from './plugins';
|
|
16
|
+
export { NWSWeatherPlugin } from './plugins/weather';
|
|
17
|
+
export type { NWSWeatherPluginConfig } from './plugins/weather';
|
|
18
|
+
export { PhoenixPolicePlugin } from './plugins/police-blotter';
|
|
19
|
+
export type { PhoenixPolicePluginConfig } from './plugins/police-blotter';
|
|
20
|
+
export { PhoenixFirePlugin } from './plugins/fire-emt';
|
|
21
|
+
export type { PhoenixFirePluginConfig } from './plugins/fire-emt';
|
|
22
|
+
export { PulsepointPlugin } from './plugins/pulsepoint';
|
|
23
|
+
export type { PulsepointPluginConfig } from './plugins/pulsepoint';
|
|
24
|
+
export { PhoenixEventsPlugin } from './plugins/events';
|
|
25
|
+
export type { PhoenixEventsPluginConfig } from './plugins/events';
|
|
26
|
+
export { ArizonaTrafficPlugin } from './plugins/traffic';
|
|
27
|
+
export type { ArizonaTrafficPluginConfig } from './plugins/traffic';
|
|
28
|
+
export { AirNowPlugin } from './plugins/air-quality';
|
|
29
|
+
export type { AirNowPluginConfig } from './plugins/air-quality';
|
|
30
|
+
export { parseCSV, toCSV } from './utils';
|
|
31
|
+
export type { CSVParseOptions } from './utils';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { PluginMetadata, PluginFetchOptions, PluginFetchResult } from '../../types';
|
|
2
|
+
import { BasePlugin, BasePluginConfig } from '../base-plugin';
|
|
3
|
+
/**
|
|
4
|
+
* AirNow plugin configuration.
|
|
5
|
+
*/
|
|
6
|
+
export interface AirNowPluginConfig extends BasePluginConfig {
|
|
7
|
+
/** AirNow API key (get one at https://docs.airnowapi.org) */
|
|
8
|
+
apiKey: string;
|
|
9
|
+
/** Include forecasts in addition to current observations. Default: true */
|
|
10
|
+
includeForecast?: boolean;
|
|
11
|
+
/** Distance in miles for nearby observations. Default: 25 */
|
|
12
|
+
distanceMiles?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Plugin that fetches air quality data from AirNow API.
|
|
16
|
+
*
|
|
17
|
+
* Provides current AQI observations and forecasts for US locations.
|
|
18
|
+
* Important for Phoenix due to dust storms and air quality concerns.
|
|
19
|
+
*
|
|
20
|
+
* @see https://docs.airnowapi.org
|
|
21
|
+
*/
|
|
22
|
+
export declare class AirNowPlugin extends BasePlugin {
|
|
23
|
+
readonly metadata: PluginMetadata;
|
|
24
|
+
private airNowConfig;
|
|
25
|
+
constructor(config: AirNowPluginConfig);
|
|
26
|
+
fetchAlerts(options: PluginFetchOptions): Promise<PluginFetchResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Fetch air quality data from AirNow API.
|
|
29
|
+
*/
|
|
30
|
+
private fetchAirQualityData;
|
|
31
|
+
/**
|
|
32
|
+
* Fetch current air quality observations.
|
|
33
|
+
*/
|
|
34
|
+
private fetchCurrentObservations;
|
|
35
|
+
/**
|
|
36
|
+
* Fetch air quality forecasts.
|
|
37
|
+
*/
|
|
38
|
+
private fetchForecasts;
|
|
39
|
+
/**
|
|
40
|
+
* Transform an observation to an alert.
|
|
41
|
+
*/
|
|
42
|
+
private transformObservation;
|
|
43
|
+
/**
|
|
44
|
+
* Transform a forecast to an alert.
|
|
45
|
+
*/
|
|
46
|
+
private transformForecast;
|
|
47
|
+
/**
|
|
48
|
+
* Map AQI value to risk level.
|
|
49
|
+
*/
|
|
50
|
+
private mapAqiToRiskLevel;
|
|
51
|
+
/**
|
|
52
|
+
* Build observation title.
|
|
53
|
+
*/
|
|
54
|
+
private buildObservationTitle;
|
|
55
|
+
/**
|
|
56
|
+
* Build forecast title.
|
|
57
|
+
*/
|
|
58
|
+
private buildForecastTitle;
|
|
59
|
+
/**
|
|
60
|
+
* Format pollutant name for display.
|
|
61
|
+
*/
|
|
62
|
+
private formatPollutant;
|
|
63
|
+
/**
|
|
64
|
+
* Format forecast date.
|
|
65
|
+
*/
|
|
66
|
+
private formatForecastDate;
|
|
67
|
+
/**
|
|
68
|
+
* Build observation description.
|
|
69
|
+
*/
|
|
70
|
+
private buildObservationDescription;
|
|
71
|
+
/**
|
|
72
|
+
* Build forecast description.
|
|
73
|
+
*/
|
|
74
|
+
private buildForecastDescription;
|
|
75
|
+
/**
|
|
76
|
+
* Format date as YYYY-MM-DD.
|
|
77
|
+
*/
|
|
78
|
+
private formatDate;
|
|
79
|
+
/**
|
|
80
|
+
* Deduplicate alerts, keeping highest AQI per location/date.
|
|
81
|
+
*/
|
|
82
|
+
private deduplicateAlerts;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=airnow.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"airnow.plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/air-quality/airnow.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAa,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAyC9D;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiCD;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAY/B;IAEF,OAAO,CAAC,YAAY,CAAqB;gBAE7B,MAAM,EAAE,kBAAkB;IAYhC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwB1E;;OAEG;YACW,mBAAmB;IAkCjC;;OAEG;YACW,wBAAwB;IAatC;;OAEG;YACW,cAAc;IAoB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmC5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAcnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAqB1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/air-quality/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { AlertPlugin, PluginMetadata, PluginFetchOptions, PluginFetchResult, GeoPoint, Alert, RiskLevel, AlertPriority, CacheProvider } from '../types';
|
|
2
|
+
import type { CSVParseOptions } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for base plugin.
|
|
5
|
+
*/
|
|
6
|
+
export interface BasePluginConfig {
|
|
7
|
+
/** Cache provider for storing fetched data */
|
|
8
|
+
cache?: CacheProvider;
|
|
9
|
+
/** Default cache TTL in milliseconds */
|
|
10
|
+
cacheTtlMs?: number;
|
|
11
|
+
/** Number of retry attempts for failed requests */
|
|
12
|
+
maxRetries?: number;
|
|
13
|
+
/** User-Agent header for HTTP requests */
|
|
14
|
+
userAgent?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Abstract base class for alert plugins.
|
|
18
|
+
*
|
|
19
|
+
* Provides common functionality for:
|
|
20
|
+
* - Location coverage checking
|
|
21
|
+
* - HTTP fetching with retry
|
|
22
|
+
* - Caching
|
|
23
|
+
* - Alert creation helpers
|
|
24
|
+
*/
|
|
25
|
+
export declare abstract class BasePlugin implements AlertPlugin {
|
|
26
|
+
abstract readonly metadata: PluginMetadata;
|
|
27
|
+
protected config: BasePluginConfig;
|
|
28
|
+
protected cache?: CacheProvider;
|
|
29
|
+
constructor(config?: BasePluginConfig);
|
|
30
|
+
/**
|
|
31
|
+
* Initialize the plugin. Override if needed.
|
|
32
|
+
*/
|
|
33
|
+
initialize(config?: Record<string, unknown>): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Check if this plugin covers the given location.
|
|
36
|
+
*
|
|
37
|
+
* For global plugins, always returns true.
|
|
38
|
+
* For regional plugins, checks if the point is within the coverage radius.
|
|
39
|
+
*/
|
|
40
|
+
coversLocation(point: GeoPoint): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Fetch alerts. Must be implemented by subclasses.
|
|
43
|
+
*/
|
|
44
|
+
abstract fetchAlerts(options: PluginFetchOptions): Promise<PluginFetchResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Clean up resources. Override if needed.
|
|
47
|
+
*/
|
|
48
|
+
dispose(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Fetch JSON data from a URL with retry logic.
|
|
51
|
+
*/
|
|
52
|
+
protected fetchJson<T>(url: string, init?: RequestInit): Promise<T>;
|
|
53
|
+
/**
|
|
54
|
+
* Fetch CSV data from a URL with retry logic.
|
|
55
|
+
*
|
|
56
|
+
* @param url - The URL to fetch from
|
|
57
|
+
* @param options - CSV parsing options
|
|
58
|
+
* @param init - Optional fetch init options
|
|
59
|
+
* @returns Parsed CSV data as array of objects
|
|
60
|
+
*/
|
|
61
|
+
protected fetchCsv<T extends Record<string, unknown> = Record<string, unknown>>(url: string, options?: CSVParseOptions, init?: RequestInit): Promise<T[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Get cached data or fetch fresh data.
|
|
64
|
+
*/
|
|
65
|
+
protected getCachedOrFetch<T>(cacheKey: string, fetcher: () => Promise<T>, ttlMs?: number): Promise<{
|
|
66
|
+
data: T;
|
|
67
|
+
fromCache: boolean;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Generate a cache key for this plugin and query options.
|
|
71
|
+
*/
|
|
72
|
+
protected generateCacheKey(options: PluginFetchOptions): string;
|
|
73
|
+
/**
|
|
74
|
+
* Create an alert with common fields filled in.
|
|
75
|
+
*/
|
|
76
|
+
protected createAlert(data: Omit<Alert, 'source'> & {
|
|
77
|
+
externalId?: string;
|
|
78
|
+
}): Alert;
|
|
79
|
+
/**
|
|
80
|
+
* Get the source type based on plugin categories.
|
|
81
|
+
*/
|
|
82
|
+
protected getSourceType(): Alert['source']['type'];
|
|
83
|
+
/**
|
|
84
|
+
* Map a numeric severity to a risk level.
|
|
85
|
+
*
|
|
86
|
+
* @param value - Numeric value (0-100 scale)
|
|
87
|
+
* @returns Corresponding risk level
|
|
88
|
+
*/
|
|
89
|
+
protected mapToRiskLevel(value: number): RiskLevel;
|
|
90
|
+
/**
|
|
91
|
+
* Map a risk level to a priority.
|
|
92
|
+
*/
|
|
93
|
+
protected riskLevelToPriority(level: RiskLevel): AlertPriority;
|
|
94
|
+
/**
|
|
95
|
+
* Create an empty result (no alerts).
|
|
96
|
+
*/
|
|
97
|
+
protected emptyResult(): PluginFetchResult;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=base-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/base-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,8BAAsB,UAAW,YAAW,WAAW;IACrD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAE3C,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC;IACnC,SAAS,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;gBAEpB,MAAM,CAAC,EAAE,gBAAgB;IAUrC;;OAEG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAcxC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAE7E;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;cACa,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IA8BzE;;;;;;;OAOG;cACa,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClF,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,EACzB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,EAAE,CAAC;IA+Bf;;OAEG;cACa,gBAAgB,CAAC,CAAC,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAiB3C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;IAI/D;;OAEG;IACH,SAAS,CAAC,WAAW,CACnB,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,KAAK;IAaR;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAWlD;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAQlD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa;IAW9D;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,iBAAiB;CAG3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { PluginMetadata, PluginFetchOptions, PluginFetchResult } from '../../types';
|
|
2
|
+
import { BasePlugin, BasePluginConfig } from '../base-plugin';
|
|
3
|
+
/**
|
|
4
|
+
* Phoenix Events plugin configuration.
|
|
5
|
+
*/
|
|
6
|
+
export interface PhoenixEventsPluginConfig extends BasePluginConfig {
|
|
7
|
+
/** Ticketmaster API key (required for Ticketmaster data) */
|
|
8
|
+
ticketmasterApiKey?: string;
|
|
9
|
+
/** Socrata app token for Phoenix Open Data (optional) */
|
|
10
|
+
socrataAppToken?: string;
|
|
11
|
+
/** Maximum events to fetch from each source. Default: 100 */
|
|
12
|
+
limit?: number;
|
|
13
|
+
/** Enable Ticketmaster source. Default: true if API key provided */
|
|
14
|
+
enableTicketmaster?: boolean;
|
|
15
|
+
/** Enable Phoenix permits source. Default: true */
|
|
16
|
+
enablePhoenixPermits?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Plugin that fetches event data from Ticketmaster and Phoenix city permits.
|
|
20
|
+
*
|
|
21
|
+
* Aggregates from:
|
|
22
|
+
* - Ticketmaster Discovery API for concerts, sports, theater
|
|
23
|
+
* - Phoenix Open Data for special event permits (street closures, parades)
|
|
24
|
+
*/
|
|
25
|
+
export declare class PhoenixEventsPlugin extends BasePlugin {
|
|
26
|
+
readonly metadata: PluginMetadata;
|
|
27
|
+
private eventsConfig;
|
|
28
|
+
constructor(config?: PhoenixEventsPluginConfig);
|
|
29
|
+
fetchAlerts(options: PluginFetchOptions): Promise<PluginFetchResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Fetch events from all enabled sources.
|
|
32
|
+
*/
|
|
33
|
+
private fetchAllEvents;
|
|
34
|
+
/**
|
|
35
|
+
* Fetch events from Ticketmaster Discovery API.
|
|
36
|
+
*/
|
|
37
|
+
private fetchTicketmasterEvents;
|
|
38
|
+
/**
|
|
39
|
+
* Transform a Ticketmaster event to our Alert format.
|
|
40
|
+
*/
|
|
41
|
+
private transformTicketmasterEvent;
|
|
42
|
+
/**
|
|
43
|
+
* Fetch events from Phoenix Open Data special events permits.
|
|
44
|
+
*/
|
|
45
|
+
private fetchPhoenixPermitEvents;
|
|
46
|
+
/**
|
|
47
|
+
* Transform a Phoenix permit event to our Alert format.
|
|
48
|
+
*/
|
|
49
|
+
private transformPhoenixPermitEvent;
|
|
50
|
+
/**
|
|
51
|
+
* Assess risk level for a Ticketmaster event.
|
|
52
|
+
*/
|
|
53
|
+
private assessEventRisk;
|
|
54
|
+
/**
|
|
55
|
+
* Assess risk and category for a permit event.
|
|
56
|
+
*/
|
|
57
|
+
private assessPermitEventRisk;
|
|
58
|
+
/**
|
|
59
|
+
* Build description for Ticketmaster event.
|
|
60
|
+
*/
|
|
61
|
+
private buildTicketmasterDescription;
|
|
62
|
+
/**
|
|
63
|
+
* Build description for permit event.
|
|
64
|
+
*/
|
|
65
|
+
private buildPermitDescription;
|
|
66
|
+
/**
|
|
67
|
+
* Deduplicate events that might appear in both sources.
|
|
68
|
+
*/
|
|
69
|
+
private deduplicateEvents;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=phoenix-events.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoenix-events.plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/events/phoenix-events.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAwE9D;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA0CD;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,OAAO,CAAC,YAAY,CAA4B;gBAEpC,MAAM,CAAC,EAAE,yBAAyB;IAUxC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6B1E;;OAEG;YACW,cAAc;IAkC5B;;OAEG;YACW,uBAAuB;IA0BrC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAwDlC;;OAEG;YACW,wBAAwB;IAiCtC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAgDnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA2BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA0B1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/fire-emt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { PluginMetadata, PluginFetchOptions, PluginFetchResult } from '../../types';
|
|
2
|
+
import { BasePlugin, BasePluginConfig } from '../base-plugin';
|
|
3
|
+
/**
|
|
4
|
+
* Phoenix Fire plugin configuration.
|
|
5
|
+
*/
|
|
6
|
+
export interface PhoenixFirePluginConfig extends BasePluginConfig {
|
|
7
|
+
/** Socrata app token for higher rate limits (optional) */
|
|
8
|
+
appToken?: string;
|
|
9
|
+
/** Maximum records to fetch per request. Default: 1000 */
|
|
10
|
+
limit?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Plugin that fetches fire and EMS incident data from Phoenix Open Data Portal.
|
|
14
|
+
*
|
|
15
|
+
* @see https://www.phoenixopendata.com/dataset/fire-incidents
|
|
16
|
+
*/
|
|
17
|
+
export declare class PhoenixFirePlugin extends BasePlugin {
|
|
18
|
+
readonly metadata: PluginMetadata;
|
|
19
|
+
private fireConfig;
|
|
20
|
+
constructor(config?: PhoenixFirePluginConfig);
|
|
21
|
+
fetchAlerts(options: PluginFetchOptions): Promise<PluginFetchResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Build the Socrata API URL for Phoenix fire data.
|
|
24
|
+
*/
|
|
25
|
+
private buildApiUrl;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch incidents from the API.
|
|
28
|
+
*/
|
|
29
|
+
private fetchIncidents;
|
|
30
|
+
/**
|
|
31
|
+
* Transform a Phoenix Fire incident to our Alert format.
|
|
32
|
+
*/
|
|
33
|
+
private transformIncident;
|
|
34
|
+
/**
|
|
35
|
+
* Map a call type to category and risk level.
|
|
36
|
+
*/
|
|
37
|
+
private mapCallType;
|
|
38
|
+
/**
|
|
39
|
+
* Format call type for display.
|
|
40
|
+
*/
|
|
41
|
+
private formatCallType;
|
|
42
|
+
/**
|
|
43
|
+
* Build description from incident data.
|
|
44
|
+
*/
|
|
45
|
+
private buildDescription;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=phoenix-fire.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoenix-fire.plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/fire-emt/phoenix-fire.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAA4B,MAAM,aAAa,CAAC;AACnH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAuB9D;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,OAAO,CAAC,UAAU,CAA0B;gBAEhC,MAAM,CAAC,EAAE,uBAAuB;IAQtC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgC1E;;OAEG;IACH,OAAO,CAAC,WAAW;IAyCnB;;OAEG;YACW,cAAc;IAI5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqDzB;;OAEG;IACH,OAAO,CAAC,WAAW;IA8BnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAsBzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { BasePlugin } from './base-plugin';
|
|
2
|
+
export type { BasePluginConfig } from './base-plugin';
|
|
3
|
+
export { NWSWeatherPlugin } from './weather';
|
|
4
|
+
export type { NWSWeatherPluginConfig } from './weather';
|
|
5
|
+
export { PhoenixPolicePlugin } from './police-blotter';
|
|
6
|
+
export type { PhoenixPolicePluginConfig } from './police-blotter';
|
|
7
|
+
export { PhoenixFirePlugin } from './fire-emt';
|
|
8
|
+
export type { PhoenixFirePluginConfig } from './fire-emt';
|
|
9
|
+
export { PulsepointPlugin } from './pulsepoint';
|
|
10
|
+
export type { PulsepointPluginConfig } from './pulsepoint';
|
|
11
|
+
export { PhoenixEventsPlugin } from './events';
|
|
12
|
+
export type { PhoenixEventsPluginConfig } from './events';
|
|
13
|
+
export { ArizonaTrafficPlugin } from './traffic';
|
|
14
|
+
export type { ArizonaTrafficPluginConfig } from './traffic';
|
|
15
|
+
export { AirNowPlugin } from './air-quality';
|
|
16
|
+
export type { AirNowPluginConfig } from './air-quality';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/police-blotter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { PluginMetadata, PluginFetchOptions, PluginFetchResult } from '../../types';
|
|
2
|
+
import { BasePlugin, BasePluginConfig } from '../base-plugin';
|
|
3
|
+
/**
|
|
4
|
+
* Phoenix Police plugin configuration.
|
|
5
|
+
*/
|
|
6
|
+
export interface PhoenixPolicePluginConfig extends BasePluginConfig {
|
|
7
|
+
/** Socrata app token for higher rate limits (optional) */
|
|
8
|
+
appToken?: string;
|
|
9
|
+
/** Maximum records to fetch per request. Default: 1000 */
|
|
10
|
+
limit?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Plugin that fetches crime data from the Phoenix Open Data Portal.
|
|
14
|
+
*
|
|
15
|
+
* Uses the Phoenix Crime Incidents dataset via Socrata API.
|
|
16
|
+
*
|
|
17
|
+
* @see https://www.phoenixopendata.com/dataset/crime-data
|
|
18
|
+
*/
|
|
19
|
+
export declare class PhoenixPolicePlugin extends BasePlugin {
|
|
20
|
+
readonly metadata: PluginMetadata;
|
|
21
|
+
private phoenixConfig;
|
|
22
|
+
constructor(config?: PhoenixPolicePluginConfig);
|
|
23
|
+
fetchAlerts(options: PluginFetchOptions): Promise<PluginFetchResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Build the Socrata API URL for Phoenix crime data.
|
|
26
|
+
*/
|
|
27
|
+
private buildApiUrl;
|
|
28
|
+
/**
|
|
29
|
+
* Fetch incidents from the API.
|
|
30
|
+
*/
|
|
31
|
+
private fetchIncidents;
|
|
32
|
+
/**
|
|
33
|
+
* Transform a Phoenix Police incident to our Alert format.
|
|
34
|
+
*/
|
|
35
|
+
private transformIncident;
|
|
36
|
+
/**
|
|
37
|
+
* Map a crime category to a risk level.
|
|
38
|
+
*/
|
|
39
|
+
private mapCrimeToRiskLevel;
|
|
40
|
+
/**
|
|
41
|
+
* Format the crime category as a title.
|
|
42
|
+
*/
|
|
43
|
+
private formatCrimeTitle;
|
|
44
|
+
/**
|
|
45
|
+
* Build a description from incident data.
|
|
46
|
+
*/
|
|
47
|
+
private buildDescription;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=phoenix-police.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoenix-police.plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/police-blotter/phoenix-police.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAa,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAmB9D;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgCD;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,OAAO,CAAC,aAAa,CAA4B;gBAErC,MAAM,CAAC,EAAE,yBAAyB;IAQxC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B1E;;OAEG;IACH,OAAO,CAAC,WAAW;IA0CnB;;OAEG;YACW,cAAc;IAI5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAqBzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pulsepoint/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
|