@sierragridteam/sdk 0.0.0-stage → 0.1.1

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 (42) hide show
  1. package/README.md +49 -2
  2. package/dist/fixtures-data.d.ts +609 -0
  3. package/dist/fixtures-data.js +2676 -0
  4. package/dist/fixtures.d.ts +12 -0
  5. package/dist/fixtures.js +139 -0
  6. package/dist/generated/client/client.gen.d.ts +2 -0
  7. package/dist/generated/client/client.gen.js +216 -0
  8. package/dist/generated/client/index.d.ts +10 -0
  9. package/dist/generated/client/index.js +6 -0
  10. package/dist/generated/client/types.gen.d.ts +120 -0
  11. package/dist/generated/client/types.gen.js +2 -0
  12. package/dist/generated/client/utils.gen.d.ts +37 -0
  13. package/dist/generated/client/utils.gen.js +228 -0
  14. package/dist/generated/client.gen.d.ts +12 -0
  15. package/dist/generated/client.gen.js +3 -0
  16. package/dist/generated/core/auth.gen.d.ts +25 -0
  17. package/dist/generated/core/auth.gen.js +14 -0
  18. package/dist/generated/core/bodySerializer.gen.d.ts +25 -0
  19. package/dist/generated/core/bodySerializer.gen.js +57 -0
  20. package/dist/generated/core/params.gen.d.ts +43 -0
  21. package/dist/generated/core/params.gen.js +109 -0
  22. package/dist/generated/core/pathSerializer.gen.d.ts +33 -0
  23. package/dist/generated/core/pathSerializer.gen.js +106 -0
  24. package/dist/generated/core/queryKeySerializer.gen.d.ts +18 -0
  25. package/dist/generated/core/queryKeySerializer.gen.js +92 -0
  26. package/dist/generated/core/serverSentEvents.gen.d.ts +71 -0
  27. package/dist/generated/core/serverSentEvents.gen.js +132 -0
  28. package/dist/generated/core/types.gen.d.ts +83 -0
  29. package/dist/generated/core/types.gen.js +2 -0
  30. package/dist/generated/core/utils.gen.d.ts +19 -0
  31. package/dist/generated/core/utils.gen.js +87 -0
  32. package/dist/generated/index.d.ts +2 -0
  33. package/dist/generated/index.js +2 -0
  34. package/dist/generated/sdk.gen.d.ts +210 -0
  35. package/dist/generated/sdk.gen.js +336 -0
  36. package/dist/generated/types.gen.d.ts +3474 -0
  37. package/dist/generated/types.gen.js +2 -0
  38. package/dist/generated/zod.gen.d.ts +6537 -0
  39. package/dist/generated/zod.gen.js +1849 -0
  40. package/dist/index.d.ts +1287 -0
  41. package/dist/index.js +99 -0
  42. package/package.json +42 -4
@@ -0,0 +1,1287 @@
1
+ import type * as T from './generated/types.gen.js';
2
+ export type * from './generated/types.gen.js';
3
+ export type RequestOptions = {
4
+ signal?: AbortSignal;
5
+ etag?: string;
6
+ timeoutMs?: number;
7
+ };
8
+ export type ApiResult<T> = {
9
+ data: T;
10
+ status: number;
11
+ etag: string | null;
12
+ notModified: false;
13
+ } | {
14
+ data: undefined;
15
+ status: 304;
16
+ etag: string | null;
17
+ notModified: true;
18
+ };
19
+ export declare class SierraApiError extends Error {
20
+ readonly status: number;
21
+ readonly codeName: string;
22
+ readonly retryAfter: string | null;
23
+ readonly body: unknown;
24
+ constructor(message: string, status: number, codeName: string, retryAfter: string | null, body: unknown);
25
+ }
26
+ export type ClientOptions = {
27
+ baseUrl?: string;
28
+ fetch?: typeof fetch;
29
+ timeoutMs?: number;
30
+ };
31
+ export type EventQuery = NonNullable<T.GridServiceListEventsData['query']>;
32
+ export type HistoryQuery = NonNullable<T.GridServiceListHistoryData['query']> & {
33
+ from: string;
34
+ to: string;
35
+ };
36
+ export type MapLayer = T.GetMapLayerData['path']['layer'];
37
+ /** Public read-only client. All returned JSON is validated against generated Zod schemas. */
38
+ export declare function createSierraClient(config?: ClientOptions): {
39
+ listEvents: (query?: EventQuery, options?: RequestOptions) => Promise<ApiResult<{
40
+ events: {
41
+ areaLabel: string;
42
+ canonicalUrl: string;
43
+ category: string;
44
+ description: string;
45
+ effective: string | null;
46
+ enhancement: {
47
+ enhancedAt: string | null;
48
+ fields: string[];
49
+ model: string;
50
+ request: string;
51
+ response: string;
52
+ } | null;
53
+ expires: string | null;
54
+ geometry: {
55
+ bbox: {
56
+ maxLat: number;
57
+ maxLng: number;
58
+ minLat: number;
59
+ minLng: number;
60
+ };
61
+ centroid: {
62
+ lat: number;
63
+ lng: number;
64
+ };
65
+ geojson: string;
66
+ object?: {
67
+ coordinates: unknown[];
68
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
69
+ } | null | undefined;
70
+ } | null;
71
+ headline: string;
72
+ id: string;
73
+ ingestedAt: string;
74
+ layer: "MESH" | "ROAD_INCIDENT" | "WEATHER_ALERT" | "FIRE_WEATHER" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER" | "LAYER_UNSPECIFIED" | "GAUGE" | "AIR_QUALITY" | "ANNOUNCEMENT" | "BURN_STATUS";
75
+ observedAt: string | null;
76
+ placeIds: string[];
77
+ provenance: {
78
+ attribution: string;
79
+ fetchedAt: string;
80
+ sourceId: "meshcore" | "chp" | "calfire" | "firis" | "caloes" | "nws" | "usgs" | "caltrans" | "pge" | "psps" | "burnline" | "calfire-burn";
81
+ sourceName: string;
82
+ sourceUrl: string;
83
+ };
84
+ revision: number;
85
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
86
+ status: "ACTIVE" | "SCHEDULED" | "EVENT_STATUS_UNSPECIFIED" | "RESOLVED" | "EXPIRED";
87
+ summary: string;
88
+ burnStatus?: {
89
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
90
+ burnLines: {
91
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
92
+ id: string;
93
+ name: string;
94
+ observation: {
95
+ confidence: number;
96
+ message: string;
97
+ observedAt: string;
98
+ transcript: string;
99
+ } | null;
100
+ phone: string;
101
+ }[];
102
+ calfireArea: string;
103
+ calfireEffective: string | null;
104
+ calfireObservedAt: string | null;
105
+ calfireStatus: "CALFIRE_BURN_STATUS_UNKNOWN" | "CALFIRE_BURNING_SUSPENDED" | "CALFIRE_PERMIT_REQUIRED" | "CALFIRE_NO_PERMIT_REQUIRED";
106
+ permission: "BURN_PERMISSION_UNKNOWN" | "BURN_PERMISSION_ALLOWED" | "BURN_PERMISSION_PROHIBITED";
107
+ } | undefined;
108
+ earthquake?: {
109
+ depthKm: number;
110
+ felt: number;
111
+ magnitude: number;
112
+ } | undefined;
113
+ evacuation?: {
114
+ county: string;
115
+ eventType: string;
116
+ level: "ORDER" | "WARNING" | "ADVISORY" | "SHELTER_IN_PLACE";
117
+ zoneId: string;
118
+ } | undefined;
119
+ fireWeather?: {
120
+ sourceEvent: string;
121
+ state: "normal" | "elevated" | "red-flag";
122
+ zones: string[];
123
+ } | undefined;
124
+ mesh?: {
125
+ name: string;
126
+ nodeType: "repeater" | "companion" | "room_server" | "sensor";
127
+ publicKey: string;
128
+ reachability: "MESH_REACHABILITY_UNSPECIFIED" | "REACHABLE" | "UNREACHABLE";
129
+ telemetry: {
130
+ admin: {
131
+ airtimeMs: string;
132
+ batteryPercent: number | null;
133
+ batteryPercentSource: "" | "measured" | "estimated";
134
+ batteryVolts: number | null;
135
+ directDups: string;
136
+ floodDups: string;
137
+ fullEvents: string;
138
+ humidity: number | null;
139
+ lastAttemptAt: string | null;
140
+ lastRssiDbm: number | null;
141
+ lastSnrDb: number | null;
142
+ lastSuccessAt: string | null;
143
+ noiseFloorDbm: number | null;
144
+ packetsReceived: string;
145
+ packetsSent: string;
146
+ pressure: number | null;
147
+ recvDirect: string;
148
+ recvErrors: string;
149
+ recvFlood: string;
150
+ reportedAt: string | null;
151
+ reporterId: string;
152
+ rxAirtimeMs: string;
153
+ sentDirect: string;
154
+ sentFlood: string;
155
+ temperatureC: number | null;
156
+ txQueueLen: number | null;
157
+ uptimeSeconds: string;
158
+ } | null;
159
+ gateways: string[];
160
+ hopCount: number | null;
161
+ lastAdvertAt: string | null;
162
+ lastHeardAt: string | null;
163
+ lastRelayedAt: string | null;
164
+ rssi: number | null;
165
+ snr: number | null;
166
+ } | null;
167
+ } | undefined;
168
+ power?: {
169
+ allClear: string | null;
170
+ cause: string;
171
+ crewStatus: string;
172
+ customersAffected: number;
173
+ deEnergizationEnd: string | null;
174
+ deEnergizationStart: string | null;
175
+ estimatedRestoration: string | null;
176
+ eventId: string;
177
+ eventName: string;
178
+ medicalBaselineAffected: number;
179
+ outageId: string;
180
+ stage: "" | "Watch" | "Warning";
181
+ timePeriod: string;
182
+ } | undefined;
183
+ roadIncident?: {
184
+ closure: {
185
+ begin: {
186
+ lat: number;
187
+ lng: number;
188
+ } | null;
189
+ beginLocation: string;
190
+ closureDuration: "Standard" | "Long Term" | "Intermittent";
191
+ closureId: string;
192
+ closureType: string;
193
+ direction: string;
194
+ district: number;
195
+ end: {
196
+ lat: number;
197
+ lng: number;
198
+ } | null;
199
+ endIndefinite: boolean;
200
+ endLocation: string;
201
+ estimatedDelayMinutes: number;
202
+ facility: string;
203
+ lanesClosed: string;
204
+ logNumber: string;
205
+ plannedEnd: string | null;
206
+ plannedStart: string;
207
+ route: string;
208
+ setUpAt: string | null;
209
+ totalLanes: number;
210
+ windowId: string;
211
+ workType: string;
212
+ } | null;
213
+ duration: "" | "unknown" | "< 1 hour" | "several hours" | "ongoing";
214
+ impact: "" | "none" | "light" | "moderate" | "severe";
215
+ logNumber: string;
216
+ metadata: Record<string, string>;
217
+ } | undefined;
218
+ weatherAlert?: {
219
+ areaDesc: string;
220
+ certainty: "Unknown" | "Observed" | "Likely" | "Possible" | "Unlikely";
221
+ instruction: string;
222
+ nwsSeverity: "Extreme" | "Severe" | "Moderate" | "Minor" | "Unknown";
223
+ urgency: "Unknown" | "Immediate" | "Expected" | "Future" | "Past";
224
+ zones: string[];
225
+ } | undefined;
226
+ wildfire?: {
227
+ acres: number;
228
+ cause: string;
229
+ containment: number;
230
+ county: string;
231
+ hasPerimeter: boolean;
232
+ } | undefined;
233
+ }[];
234
+ nextPageToken: string;
235
+ }>>;
236
+ getEvent: (id: string, query?: NonNullable<T.GridServiceGetEventData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
237
+ areaLabel: string;
238
+ canonicalUrl: string;
239
+ category: string;
240
+ description: string;
241
+ effective: string | null;
242
+ enhancement: {
243
+ enhancedAt: string | null;
244
+ fields: string[];
245
+ model: string;
246
+ request: string;
247
+ response: string;
248
+ } | null;
249
+ expires: string | null;
250
+ geometry: {
251
+ bbox: {
252
+ maxLat: number;
253
+ maxLng: number;
254
+ minLat: number;
255
+ minLng: number;
256
+ };
257
+ centroid: {
258
+ lat: number;
259
+ lng: number;
260
+ };
261
+ geojson: string;
262
+ object?: {
263
+ coordinates: unknown[];
264
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
265
+ } | null | undefined;
266
+ } | null;
267
+ headline: string;
268
+ id: string;
269
+ ingestedAt: string;
270
+ layer: "MESH" | "ROAD_INCIDENT" | "WEATHER_ALERT" | "FIRE_WEATHER" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER" | "LAYER_UNSPECIFIED" | "GAUGE" | "AIR_QUALITY" | "ANNOUNCEMENT" | "BURN_STATUS";
271
+ observedAt: string | null;
272
+ placeIds: string[];
273
+ provenance: {
274
+ attribution: string;
275
+ fetchedAt: string;
276
+ sourceId: "meshcore" | "chp" | "calfire" | "firis" | "caloes" | "nws" | "usgs" | "caltrans" | "pge" | "psps" | "burnline" | "calfire-burn";
277
+ sourceName: string;
278
+ sourceUrl: string;
279
+ };
280
+ revision: number;
281
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
282
+ status: "ACTIVE" | "SCHEDULED" | "EVENT_STATUS_UNSPECIFIED" | "RESOLVED" | "EXPIRED";
283
+ summary: string;
284
+ burnStatus?: {
285
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
286
+ burnLines: {
287
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
288
+ id: string;
289
+ name: string;
290
+ observation: {
291
+ confidence: number;
292
+ message: string;
293
+ observedAt: string;
294
+ transcript: string;
295
+ } | null;
296
+ phone: string;
297
+ }[];
298
+ calfireArea: string;
299
+ calfireEffective: string | null;
300
+ calfireObservedAt: string | null;
301
+ calfireStatus: "CALFIRE_BURN_STATUS_UNKNOWN" | "CALFIRE_BURNING_SUSPENDED" | "CALFIRE_PERMIT_REQUIRED" | "CALFIRE_NO_PERMIT_REQUIRED";
302
+ permission: "BURN_PERMISSION_UNKNOWN" | "BURN_PERMISSION_ALLOWED" | "BURN_PERMISSION_PROHIBITED";
303
+ } | undefined;
304
+ earthquake?: {
305
+ depthKm: number;
306
+ felt: number;
307
+ magnitude: number;
308
+ } | undefined;
309
+ evacuation?: {
310
+ county: string;
311
+ eventType: string;
312
+ level: "ORDER" | "WARNING" | "ADVISORY" | "SHELTER_IN_PLACE";
313
+ zoneId: string;
314
+ } | undefined;
315
+ fireWeather?: {
316
+ sourceEvent: string;
317
+ state: "normal" | "elevated" | "red-flag";
318
+ zones: string[];
319
+ } | undefined;
320
+ mesh?: {
321
+ name: string;
322
+ nodeType: "repeater" | "companion" | "room_server" | "sensor";
323
+ publicKey: string;
324
+ reachability: "MESH_REACHABILITY_UNSPECIFIED" | "REACHABLE" | "UNREACHABLE";
325
+ telemetry: {
326
+ admin: {
327
+ airtimeMs: string;
328
+ batteryPercent: number | null;
329
+ batteryPercentSource: "" | "measured" | "estimated";
330
+ batteryVolts: number | null;
331
+ directDups: string;
332
+ floodDups: string;
333
+ fullEvents: string;
334
+ humidity: number | null;
335
+ lastAttemptAt: string | null;
336
+ lastRssiDbm: number | null;
337
+ lastSnrDb: number | null;
338
+ lastSuccessAt: string | null;
339
+ noiseFloorDbm: number | null;
340
+ packetsReceived: string;
341
+ packetsSent: string;
342
+ pressure: number | null;
343
+ recvDirect: string;
344
+ recvErrors: string;
345
+ recvFlood: string;
346
+ reportedAt: string | null;
347
+ reporterId: string;
348
+ rxAirtimeMs: string;
349
+ sentDirect: string;
350
+ sentFlood: string;
351
+ temperatureC: number | null;
352
+ txQueueLen: number | null;
353
+ uptimeSeconds: string;
354
+ } | null;
355
+ gateways: string[];
356
+ hopCount: number | null;
357
+ lastAdvertAt: string | null;
358
+ lastHeardAt: string | null;
359
+ lastRelayedAt: string | null;
360
+ rssi: number | null;
361
+ snr: number | null;
362
+ } | null;
363
+ } | undefined;
364
+ power?: {
365
+ allClear: string | null;
366
+ cause: string;
367
+ crewStatus: string;
368
+ customersAffected: number;
369
+ deEnergizationEnd: string | null;
370
+ deEnergizationStart: string | null;
371
+ estimatedRestoration: string | null;
372
+ eventId: string;
373
+ eventName: string;
374
+ medicalBaselineAffected: number;
375
+ outageId: string;
376
+ stage: "" | "Watch" | "Warning";
377
+ timePeriod: string;
378
+ } | undefined;
379
+ roadIncident?: {
380
+ closure: {
381
+ begin: {
382
+ lat: number;
383
+ lng: number;
384
+ } | null;
385
+ beginLocation: string;
386
+ closureDuration: "Standard" | "Long Term" | "Intermittent";
387
+ closureId: string;
388
+ closureType: string;
389
+ direction: string;
390
+ district: number;
391
+ end: {
392
+ lat: number;
393
+ lng: number;
394
+ } | null;
395
+ endIndefinite: boolean;
396
+ endLocation: string;
397
+ estimatedDelayMinutes: number;
398
+ facility: string;
399
+ lanesClosed: string;
400
+ logNumber: string;
401
+ plannedEnd: string | null;
402
+ plannedStart: string;
403
+ route: string;
404
+ setUpAt: string | null;
405
+ totalLanes: number;
406
+ windowId: string;
407
+ workType: string;
408
+ } | null;
409
+ duration: "" | "unknown" | "< 1 hour" | "several hours" | "ongoing";
410
+ impact: "" | "none" | "light" | "moderate" | "severe";
411
+ logNumber: string;
412
+ metadata: Record<string, string>;
413
+ } | undefined;
414
+ weatherAlert?: {
415
+ areaDesc: string;
416
+ certainty: "Unknown" | "Observed" | "Likely" | "Possible" | "Unlikely";
417
+ instruction: string;
418
+ nwsSeverity: "Extreme" | "Severe" | "Moderate" | "Minor" | "Unknown";
419
+ urgency: "Unknown" | "Immediate" | "Expected" | "Future" | "Past";
420
+ zones: string[];
421
+ } | undefined;
422
+ wildfire?: {
423
+ acres: number;
424
+ cause: string;
425
+ containment: number;
426
+ county: string;
427
+ hasPerimeter: boolean;
428
+ } | undefined;
429
+ }>>;
430
+ getEventHistory: (id: string, query?: NonNullable<T.GridServiceGetEventHistoryData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
431
+ nextPageToken: string;
432
+ revisions: {
433
+ event: {
434
+ areaLabel: string;
435
+ canonicalUrl: string;
436
+ category: string;
437
+ description: string;
438
+ effective: string | null;
439
+ enhancement: {
440
+ enhancedAt: string | null;
441
+ fields: string[];
442
+ model: string;
443
+ request: string;
444
+ response: string;
445
+ } | null;
446
+ expires: string | null;
447
+ geometry: {
448
+ bbox: {
449
+ maxLat: number;
450
+ maxLng: number;
451
+ minLat: number;
452
+ minLng: number;
453
+ };
454
+ centroid: {
455
+ lat: number;
456
+ lng: number;
457
+ };
458
+ geojson: string;
459
+ object?: {
460
+ coordinates: unknown[];
461
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
462
+ } | null | undefined;
463
+ } | null;
464
+ headline: string;
465
+ id: string;
466
+ ingestedAt: string;
467
+ layer: "MESH" | "ROAD_INCIDENT" | "WEATHER_ALERT" | "FIRE_WEATHER" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER" | "LAYER_UNSPECIFIED" | "GAUGE" | "AIR_QUALITY" | "ANNOUNCEMENT" | "BURN_STATUS";
468
+ observedAt: string | null;
469
+ placeIds: string[];
470
+ provenance: {
471
+ attribution: string;
472
+ fetchedAt: string;
473
+ sourceId: "meshcore" | "chp" | "calfire" | "firis" | "caloes" | "nws" | "usgs" | "caltrans" | "pge" | "psps" | "burnline" | "calfire-burn";
474
+ sourceName: string;
475
+ sourceUrl: string;
476
+ };
477
+ revision: number;
478
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
479
+ status: "ACTIVE" | "SCHEDULED" | "EVENT_STATUS_UNSPECIFIED" | "RESOLVED" | "EXPIRED";
480
+ summary: string;
481
+ burnStatus?: {
482
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
483
+ burnLines: {
484
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
485
+ id: string;
486
+ name: string;
487
+ observation: {
488
+ confidence: number;
489
+ message: string;
490
+ observedAt: string;
491
+ transcript: string;
492
+ } | null;
493
+ phone: string;
494
+ }[];
495
+ calfireArea: string;
496
+ calfireEffective: string | null;
497
+ calfireObservedAt: string | null;
498
+ calfireStatus: "CALFIRE_BURN_STATUS_UNKNOWN" | "CALFIRE_BURNING_SUSPENDED" | "CALFIRE_PERMIT_REQUIRED" | "CALFIRE_NO_PERMIT_REQUIRED";
499
+ permission: "BURN_PERMISSION_UNKNOWN" | "BURN_PERMISSION_ALLOWED" | "BURN_PERMISSION_PROHIBITED";
500
+ } | undefined;
501
+ earthquake?: {
502
+ depthKm: number;
503
+ felt: number;
504
+ magnitude: number;
505
+ } | undefined;
506
+ evacuation?: {
507
+ county: string;
508
+ eventType: string;
509
+ level: "ORDER" | "WARNING" | "ADVISORY" | "SHELTER_IN_PLACE";
510
+ zoneId: string;
511
+ } | undefined;
512
+ fireWeather?: {
513
+ sourceEvent: string;
514
+ state: "normal" | "elevated" | "red-flag";
515
+ zones: string[];
516
+ } | undefined;
517
+ mesh?: {
518
+ name: string;
519
+ nodeType: "repeater" | "companion" | "room_server" | "sensor";
520
+ publicKey: string;
521
+ reachability: "MESH_REACHABILITY_UNSPECIFIED" | "REACHABLE" | "UNREACHABLE";
522
+ telemetry: {
523
+ admin: {
524
+ airtimeMs: string;
525
+ batteryPercent: number | null;
526
+ batteryPercentSource: "" | "measured" | "estimated";
527
+ batteryVolts: number | null;
528
+ directDups: string;
529
+ floodDups: string;
530
+ fullEvents: string;
531
+ humidity: number | null;
532
+ lastAttemptAt: string | null;
533
+ lastRssiDbm: number | null;
534
+ lastSnrDb: number | null;
535
+ lastSuccessAt: string | null;
536
+ noiseFloorDbm: number | null;
537
+ packetsReceived: string;
538
+ packetsSent: string;
539
+ pressure: number | null;
540
+ recvDirect: string;
541
+ recvErrors: string;
542
+ recvFlood: string;
543
+ reportedAt: string | null;
544
+ reporterId: string;
545
+ rxAirtimeMs: string;
546
+ sentDirect: string;
547
+ sentFlood: string;
548
+ temperatureC: number | null;
549
+ txQueueLen: number | null;
550
+ uptimeSeconds: string;
551
+ } | null;
552
+ gateways: string[];
553
+ hopCount: number | null;
554
+ lastAdvertAt: string | null;
555
+ lastHeardAt: string | null;
556
+ lastRelayedAt: string | null;
557
+ rssi: number | null;
558
+ snr: number | null;
559
+ } | null;
560
+ } | undefined;
561
+ power?: {
562
+ allClear: string | null;
563
+ cause: string;
564
+ crewStatus: string;
565
+ customersAffected: number;
566
+ deEnergizationEnd: string | null;
567
+ deEnergizationStart: string | null;
568
+ estimatedRestoration: string | null;
569
+ eventId: string;
570
+ eventName: string;
571
+ medicalBaselineAffected: number;
572
+ outageId: string;
573
+ stage: "" | "Watch" | "Warning";
574
+ timePeriod: string;
575
+ } | undefined;
576
+ roadIncident?: {
577
+ closure: {
578
+ begin: {
579
+ lat: number;
580
+ lng: number;
581
+ } | null;
582
+ beginLocation: string;
583
+ closureDuration: "Standard" | "Long Term" | "Intermittent";
584
+ closureId: string;
585
+ closureType: string;
586
+ direction: string;
587
+ district: number;
588
+ end: {
589
+ lat: number;
590
+ lng: number;
591
+ } | null;
592
+ endIndefinite: boolean;
593
+ endLocation: string;
594
+ estimatedDelayMinutes: number;
595
+ facility: string;
596
+ lanesClosed: string;
597
+ logNumber: string;
598
+ plannedEnd: string | null;
599
+ plannedStart: string;
600
+ route: string;
601
+ setUpAt: string | null;
602
+ totalLanes: number;
603
+ windowId: string;
604
+ workType: string;
605
+ } | null;
606
+ duration: "" | "unknown" | "< 1 hour" | "several hours" | "ongoing";
607
+ impact: "" | "none" | "light" | "moderate" | "severe";
608
+ logNumber: string;
609
+ metadata: Record<string, string>;
610
+ } | undefined;
611
+ weatherAlert?: {
612
+ areaDesc: string;
613
+ certainty: "Unknown" | "Observed" | "Likely" | "Possible" | "Unlikely";
614
+ instruction: string;
615
+ nwsSeverity: "Extreme" | "Severe" | "Moderate" | "Minor" | "Unknown";
616
+ urgency: "Unknown" | "Immediate" | "Expected" | "Future" | "Past";
617
+ zones: string[];
618
+ } | undefined;
619
+ wildfire?: {
620
+ acres: number;
621
+ cause: string;
622
+ containment: number;
623
+ county: string;
624
+ hasPerimeter: boolean;
625
+ } | undefined;
626
+ };
627
+ ingestedAt: string;
628
+ observedAt: string;
629
+ revision: number;
630
+ }[];
631
+ }>>;
632
+ listPlaces: (query?: NonNullable<T.GridServiceListPlacesData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
633
+ places: {
634
+ geometry: {
635
+ bbox: {
636
+ maxLat: number;
637
+ maxLng: number;
638
+ minLat: number;
639
+ minLng: number;
640
+ };
641
+ centroid: {
642
+ lat: number;
643
+ lng: number;
644
+ };
645
+ geojson: string;
646
+ object?: {
647
+ coordinates: unknown[];
648
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
649
+ } | null | undefined;
650
+ };
651
+ id: string;
652
+ kind: "AREA" | "COUNTY" | "TOWN" | "PLACE_KIND_UNSPECIFIED" | "EVAC_ZONE" | "CORRIDOR" | "SITE";
653
+ name: string;
654
+ parentId: string;
655
+ slug: string;
656
+ }[];
657
+ }>>;
658
+ getPlace: (place: string, options?: RequestOptions) => Promise<ApiResult<{
659
+ geometry: {
660
+ bbox: {
661
+ maxLat: number;
662
+ maxLng: number;
663
+ minLat: number;
664
+ minLng: number;
665
+ };
666
+ centroid: {
667
+ lat: number;
668
+ lng: number;
669
+ };
670
+ geojson: string;
671
+ object?: {
672
+ coordinates: unknown[];
673
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
674
+ } | null | undefined;
675
+ };
676
+ id: string;
677
+ kind: "AREA" | "COUNTY" | "TOWN" | "PLACE_KIND_UNSPECIFIED" | "EVAC_ZONE" | "CORRIDOR" | "SITE";
678
+ name: string;
679
+ parentId: string;
680
+ slug: string;
681
+ }>>;
682
+ resolvePlace: (query: NonNullable<T.GridServiceResolvePlaceData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
683
+ places: {
684
+ geometry: {
685
+ bbox: {
686
+ maxLat: number;
687
+ maxLng: number;
688
+ minLat: number;
689
+ minLng: number;
690
+ };
691
+ centroid: {
692
+ lat: number;
693
+ lng: number;
694
+ };
695
+ geojson: string;
696
+ object?: {
697
+ coordinates: unknown[];
698
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
699
+ } | null | undefined;
700
+ };
701
+ id: string;
702
+ kind: "AREA" | "COUNTY" | "TOWN" | "PLACE_KIND_UNSPECIFIED" | "EVAC_ZONE" | "CORRIDOR" | "SITE";
703
+ name: string;
704
+ parentId: string;
705
+ slug: string;
706
+ }[];
707
+ query: {
708
+ lat: number;
709
+ lng: number;
710
+ matchedAddress: string;
711
+ };
712
+ }>>;
713
+ getPlaceSummary: (place: string, options?: RequestOptions) => Promise<ApiResult<{
714
+ domains: {
715
+ activeCount: number;
716
+ domain: "evacuation" | "power" | "weather" | "fire" | "roads" | "seismic" | "burn" | "comms";
717
+ headlines: {
718
+ headline: string;
719
+ id: string;
720
+ kind: "EVENT" | "CONDITION";
721
+ layer: "MESH" | "ROAD_INCIDENT" | "CHAIN_CONTROL" | "ROAD_SEGMENT" | "WEATHER_ALERT" | "FIRE_WEATHER" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER" | "BURN_STATUS";
722
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
723
+ }[];
724
+ highestSeverity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
725
+ status: "OK" | "STALE" | "UNAVAILABLE";
726
+ }[];
727
+ generatedAt: string;
728
+ mode: "ACTIVE" | "QUIET" | "WATCH";
729
+ place: string;
730
+ placeId: string;
731
+ placeName: string;
732
+ sources: {
733
+ id: string;
734
+ lastSuccessAt: string | null;
735
+ status: "OK" | "STALE" | "UNAVAILABLE";
736
+ }[];
737
+ summary: {
738
+ activeEvacuations: number | null;
739
+ evacuationSourceUrl: string;
740
+ evacuationStatus: "OK" | "STALE" | "UNAVAILABLE";
741
+ highestSeverity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
742
+ highestSeverityRank: number;
743
+ severityCounts: Record<string, number>;
744
+ topEvents: {
745
+ headline: string;
746
+ id: string;
747
+ layer: "ROAD_INCIDENT" | "WEATHER_ALERT" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER";
748
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
749
+ severityRank: number;
750
+ source: string;
751
+ }[];
752
+ totalActive: number;
753
+ };
754
+ }>>;
755
+ getConditions: (query?: NonNullable<T.GridServiceGetConditionsData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
756
+ fireWeather: {
757
+ headline: string;
758
+ state: "" | "normal" | "elevated" | "red-flag";
759
+ zones: string[];
760
+ } | null;
761
+ forecast: {
762
+ horizonHours: number;
763
+ issuedAt: string | null;
764
+ locationId: string;
765
+ minHumidityPercent: number;
766
+ peakWindGustAt: string | null;
767
+ peakWindGustKmh: number;
768
+ periods: {
769
+ humidityPercent: number;
770
+ temperatureCelsius: number;
771
+ time: string | null;
772
+ windDirectionDegrees: number;
773
+ windGustKmh: number;
774
+ windSpeedKmh: number;
775
+ }[];
776
+ source: string;
777
+ }[];
778
+ lastUpdated: string | null;
779
+ weather: {
780
+ feelsLikeCelsius: number;
781
+ humidityPercent: number;
782
+ locationId: string;
783
+ locationName: string;
784
+ temperatureCelsius: number;
785
+ visibilityKm: number;
786
+ weatherDescription: string;
787
+ weatherIcon: string;
788
+ weatherMain: string;
789
+ windDirectionDegrees: number;
790
+ windSpeedKmh: number;
791
+ }[];
792
+ }>>;
793
+ listCameras: (query?: NonNullable<T.GridServiceListCamerasData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
794
+ attribution: string;
795
+ cameras: {
796
+ county: string;
797
+ description: string;
798
+ direction: "" | "North" | "South" | "East" | "West";
799
+ distanceMeters: number;
800
+ elevationFeet: number;
801
+ id: string;
802
+ imageRefreshMinutes: number;
803
+ imageUrl: string;
804
+ location: {
805
+ lat: number;
806
+ lng: number;
807
+ };
808
+ name: string;
809
+ nearbyPlace: string;
810
+ route: string;
811
+ streamUrl: string;
812
+ }[];
813
+ lastSourceUpdate: string | null;
814
+ sourceStatus: "OK" | "STALE" | "UNAVAILABLE";
815
+ }>>;
816
+ listScanners: (query?: NonNullable<T.GridServiceListScannersData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
817
+ scanners: {
818
+ agency: string;
819
+ broadcastifyUrl: string;
820
+ channelLabel: string;
821
+ feedId: string;
822
+ }[];
823
+ }>>;
824
+ listSources: (options?: RequestOptions) => Promise<ApiResult<{
825
+ sources: {
826
+ attribution: string;
827
+ expireAfterSeconds: number;
828
+ homepageUrl: string;
829
+ id: string;
830
+ kind: "SOURCE_KIND_UNSPECIFIED" | "FEED" | "REPORTER";
831
+ lastAttemptAt: string | null;
832
+ lastError: string;
833
+ lastSuccessAt: string | null;
834
+ name: string;
835
+ pollIntervalSeconds: number;
836
+ staleAfterSeconds: number;
837
+ status: "OK" | "STALE" | "UNAVAILABLE" | "SOURCE_STATUS_UNSPECIFIED";
838
+ }[];
839
+ }>>;
840
+ getMapLayer: (place: string, layer: MapLayer, query?: NonNullable<T.GetMapLayerData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
841
+ features: {
842
+ geometry: {
843
+ coordinates: unknown[];
844
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
845
+ } | null;
846
+ properties: {
847
+ headline: string;
848
+ id: string;
849
+ kind: "Road incident" | "Chain control" | "Road segment" | "Message sign" | "Weather alert" | "Fire weather" | "Fire-weather forecast" | "Earthquake" | "Wildfire" | "Evacuation" | "Power outage" | "Public Safety Power Shutoff" | "Mesh node" | "Relay link" | "Traffic camera";
850
+ layer: "ROAD_INCIDENT" | "CHAIN_CONTROL" | "ROAD_SEGMENT" | "MESSAGE_SIGN" | "WEATHER_ALERT" | "FIRE_WEATHER" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER" | "MESH_NODE" | "MESH_LINK" | "CAMERA";
851
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
852
+ severityRank: number;
853
+ source: {
854
+ id: string;
855
+ name: string;
856
+ attribution?: string | undefined;
857
+ fetchedAt?: string | undefined;
858
+ url?: string | undefined;
859
+ };
860
+ areaLabel?: string | undefined;
861
+ camera?: {
862
+ distanceMeters: number;
863
+ imageUrl: string;
864
+ county?: string | undefined;
865
+ direction?: string | undefined;
866
+ elevationFeet?: number | undefined;
867
+ imageRefreshMinutes?: number | undefined;
868
+ route?: string | undefined;
869
+ streamUrl?: string | undefined;
870
+ } | undefined;
871
+ category?: string | undefined;
872
+ chainControl?: {
873
+ direction?: string | undefined;
874
+ highway?: string | undefined;
875
+ level?: "R1" | "R2" | "R3" | undefined;
876
+ } | undefined;
877
+ description?: string | undefined;
878
+ earthquake?: {
879
+ depthKm: number;
880
+ magnitude: number;
881
+ felt?: number | undefined;
882
+ } | undefined;
883
+ effective?: string | undefined;
884
+ evacuation?: {
885
+ level: "ORDER" | "WARNING" | "ADVISORY" | "SHELTER_IN_PLACE";
886
+ county?: string | undefined;
887
+ eventType?: string | undefined;
888
+ zoneId?: string | undefined;
889
+ } | undefined;
890
+ expires?: string | undefined;
891
+ fireWeather?: {
892
+ forecast?: {
893
+ horizonHours?: number | undefined;
894
+ issuedAt?: string | undefined;
895
+ minHumidityPercent?: number | undefined;
896
+ peakWindGustAt?: string | undefined;
897
+ peakWindGustKmh?: number | undefined;
898
+ source?: string | undefined;
899
+ } | undefined;
900
+ sourceEvent?: string | undefined;
901
+ state?: "normal" | "elevated" | "red-flag" | undefined;
902
+ zones?: string[] | undefined;
903
+ } | undefined;
904
+ incident?: {
905
+ closure?: {
906
+ windowId: string;
907
+ closureType?: string | undefined;
908
+ estimatedDelayMinutes?: number | undefined;
909
+ lanesClosed?: string | undefined;
910
+ plannedEnd?: string | undefined;
911
+ plannedStart?: string | undefined;
912
+ setUpAt?: string | undefined;
913
+ totalLanes?: number | undefined;
914
+ workType?: string | undefined;
915
+ } | undefined;
916
+ logNumber?: string | undefined;
917
+ } | undefined;
918
+ mesh?: {
919
+ publicKey: string;
920
+ admin?: {
921
+ reporterId: string;
922
+ airtimeMs?: number | undefined;
923
+ batteryPercent?: number | undefined;
924
+ batteryPercentSource?: string | undefined;
925
+ batteryVolts?: number | undefined;
926
+ lastSuccessAt?: string | undefined;
927
+ noiseFloorDbm?: number | undefined;
928
+ packetsReceived?: number | undefined;
929
+ packetsSent?: number | undefined;
930
+ recvErrors?: number | undefined;
931
+ reportedAt?: string | undefined;
932
+ rxAirtimeMs?: number | undefined;
933
+ temperatureC?: number | undefined;
934
+ txQueueLen?: number | undefined;
935
+ uptimeSeconds?: number | undefined;
936
+ } | undefined;
937
+ gateways?: string[] | undefined;
938
+ hopCount?: number | undefined;
939
+ inRegion?: boolean | undefined;
940
+ lastHeardAt?: string | undefined;
941
+ lastRelayedAt?: string | undefined;
942
+ name?: string | undefined;
943
+ nodeType?: "repeater" | "companion" | "room_server" | "sensor" | undefined;
944
+ reachability?: "REACHABLE" | "UNREACHABLE" | undefined;
945
+ rssi?: number | undefined;
946
+ snr?: number | undefined;
947
+ } | undefined;
948
+ meshLink?: {
949
+ a: string;
950
+ b: string;
951
+ daysActive: number;
952
+ observations: number;
953
+ bestSnr?: number | undefined;
954
+ firstSeen?: string | undefined;
955
+ lastSeen?: string | undefined;
956
+ } | undefined;
957
+ messageSign?: {
958
+ district: number;
959
+ inService: boolean;
960
+ signId: string;
961
+ direction?: string | undefined;
962
+ pages?: [string, string, string][] | undefined;
963
+ route?: string | undefined;
964
+ } | undefined;
965
+ power?: {
966
+ allClear?: string | undefined;
967
+ cause?: string | undefined;
968
+ crewStatus?: string | undefined;
969
+ customersAffected?: number | undefined;
970
+ deEnergizationEnd?: string | undefined;
971
+ deEnergizationStart?: string | undefined;
972
+ estimatedRestoration?: string | undefined;
973
+ eventName?: string | undefined;
974
+ medicalBaselineAffected?: number | undefined;
975
+ outageId?: string | undefined;
976
+ stage?: "Watch" | "Warning" | undefined;
977
+ } | undefined;
978
+ road?: {
979
+ roadId: string;
980
+ congestion?: "MODERATE" | "CLEAR" | "LIGHT" | "HEAVY" | "SEVERE" | "UNSPECIFIED" | undefined;
981
+ delayMinutes?: number | undefined;
982
+ distanceKm?: number | undefined;
983
+ durationMinutes?: number | undefined;
984
+ } | undefined;
985
+ status?: "ACTIVE" | "ORDER" | "WARNING" | "ADVISORY" | "SHELTER_IN_PLACE" | "UNSPECIFIED" | "SCHEDULED" | "OPEN" | "CLOSED" | "RESTRICTED" | "MAINTENANCE" | undefined;
986
+ summary?: string | undefined;
987
+ summaryEnhanced?: {
988
+ enhancedAt?: string | undefined;
989
+ } | undefined;
990
+ updatedAt?: string | undefined;
991
+ weather?: {
992
+ certainty?: string | undefined;
993
+ event?: string | undefined;
994
+ instruction?: string | undefined;
995
+ nwsSeverity?: "Extreme" | "Severe" | "Moderate" | "Minor" | "Unknown" | undefined;
996
+ source?: "NWS" | undefined;
997
+ urgency?: string | undefined;
998
+ zones?: string[] | undefined;
999
+ } | undefined;
1000
+ wildfire?: {
1001
+ containment: number;
1002
+ hasPerimeter: boolean;
1003
+ acres?: number | undefined;
1004
+ cause?: string | undefined;
1005
+ county?: string | undefined;
1006
+ } | undefined;
1007
+ };
1008
+ type: "Feature";
1009
+ }[];
1010
+ metadata: {
1011
+ area: string;
1012
+ generatedAt: string;
1013
+ layer: "road_incident" | "chain_control" | "road_segment" | "message_sign" | "weather_alert" | "fire_weather" | "earthquake" | "wildfire" | "evacuation" | "power" | "mesh_node" | "mesh_link" | "camera";
1014
+ schemaVersion: 1;
1015
+ sourceStatus: "OK" | "STALE" | "UNAVAILABLE";
1016
+ attribution?: string | undefined;
1017
+ lastSourceUpdate?: string | undefined;
1018
+ sourceUrl?: string | undefined;
1019
+ };
1020
+ type: "FeatureCollection";
1021
+ }>>;
1022
+ listMeshLinks: (query?: NonNullable<T.ListMeshLinksData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
1023
+ generatedAt: string;
1024
+ links: {
1025
+ a: string;
1026
+ b: string;
1027
+ bestSnr: number;
1028
+ daysActive: number;
1029
+ firstSeen: string;
1030
+ lastSeen: string;
1031
+ observations: number;
1032
+ }[];
1033
+ window: string;
1034
+ }>>;
1035
+ getMeshTelemetry: (query: NonNullable<T.GridServiceGetMeshTelemetryData["query"]>, options?: RequestOptions) => Promise<ApiResult<{
1036
+ cadenceSeconds: string | null;
1037
+ coverage: {
1038
+ from: string | null;
1039
+ samples: number;
1040
+ to: string | null;
1041
+ };
1042
+ from: string;
1043
+ node: string;
1044
+ reboots: string[];
1045
+ samples: {
1046
+ reading: {
1047
+ airtimeMs: string;
1048
+ batteryPercent: number | null;
1049
+ batteryPercentSource: "" | "measured" | "estimated";
1050
+ batteryVolts: number | null;
1051
+ directDups: string;
1052
+ floodDups: string;
1053
+ fullEvents: string;
1054
+ humidity: number | null;
1055
+ lastAttemptAt: string | null;
1056
+ lastRssiDbm: number | null;
1057
+ lastSnrDb: number | null;
1058
+ lastSuccessAt: string | null;
1059
+ noiseFloorDbm: number | null;
1060
+ packetsReceived: string;
1061
+ packetsSent: string;
1062
+ pressure: number | null;
1063
+ recvDirect: string;
1064
+ recvErrors: string;
1065
+ recvFlood: string;
1066
+ reportedAt: string | null;
1067
+ reporterId: string;
1068
+ rxAirtimeMs: string;
1069
+ sentDirect: string;
1070
+ sentFlood: string;
1071
+ temperatureC: number | null;
1072
+ txQueueLen: number | null;
1073
+ uptimeSeconds: string;
1074
+ };
1075
+ receivedAt: string;
1076
+ }[];
1077
+ to: string;
1078
+ truncated: boolean;
1079
+ }>>;
1080
+ listHistory: (query: HistoryQuery, options?: RequestOptions) => Promise<ApiResult<{
1081
+ nextPageToken: string;
1082
+ revisions: {
1083
+ event: {
1084
+ areaLabel: string;
1085
+ canonicalUrl: string;
1086
+ category: string;
1087
+ description: string;
1088
+ effective: string | null;
1089
+ enhancement: {
1090
+ enhancedAt: string | null;
1091
+ fields: string[];
1092
+ model: string;
1093
+ request: string;
1094
+ response: string;
1095
+ } | null;
1096
+ expires: string | null;
1097
+ geometry: {
1098
+ bbox: {
1099
+ maxLat: number;
1100
+ maxLng: number;
1101
+ minLat: number;
1102
+ minLng: number;
1103
+ };
1104
+ centroid: {
1105
+ lat: number;
1106
+ lng: number;
1107
+ };
1108
+ geojson: string;
1109
+ object?: {
1110
+ coordinates: unknown[];
1111
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
1112
+ } | null | undefined;
1113
+ } | null;
1114
+ headline: string;
1115
+ id: string;
1116
+ ingestedAt: string;
1117
+ layer: "MESH" | "ROAD_INCIDENT" | "WEATHER_ALERT" | "FIRE_WEATHER" | "EARTHQUAKE" | "WILDFIRE" | "EVACUATION" | "POWER" | "LAYER_UNSPECIFIED" | "GAUGE" | "AIR_QUALITY" | "ANNOUNCEMENT" | "BURN_STATUS";
1118
+ observedAt: string | null;
1119
+ placeIds: string[];
1120
+ provenance: {
1121
+ attribution: string;
1122
+ fetchedAt: string;
1123
+ sourceId: "meshcore" | "chp" | "calfire" | "firis" | "caloes" | "nws" | "usgs" | "caltrans" | "pge" | "psps" | "burnline" | "calfire-burn";
1124
+ sourceName: string;
1125
+ sourceUrl: string;
1126
+ };
1127
+ revision: number;
1128
+ severity: "INFO" | "MODERATE" | "SEVERE" | "MINOR" | "EXTREME";
1129
+ status: "ACTIVE" | "SCHEDULED" | "EVENT_STATUS_UNSPECIFIED" | "RESOLVED" | "EXPIRED";
1130
+ summary: string;
1131
+ burnStatus?: {
1132
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
1133
+ burnLines: {
1134
+ burnDay: "BURN_DAY_UNKNOWN" | "BURN_DAY_YES" | "BURN_DAY_NO" | "BURN_DAY_MARGINAL";
1135
+ id: string;
1136
+ name: string;
1137
+ observation: {
1138
+ confidence: number;
1139
+ message: string;
1140
+ observedAt: string;
1141
+ transcript: string;
1142
+ } | null;
1143
+ phone: string;
1144
+ }[];
1145
+ calfireArea: string;
1146
+ calfireEffective: string | null;
1147
+ calfireObservedAt: string | null;
1148
+ calfireStatus: "CALFIRE_BURN_STATUS_UNKNOWN" | "CALFIRE_BURNING_SUSPENDED" | "CALFIRE_PERMIT_REQUIRED" | "CALFIRE_NO_PERMIT_REQUIRED";
1149
+ permission: "BURN_PERMISSION_UNKNOWN" | "BURN_PERMISSION_ALLOWED" | "BURN_PERMISSION_PROHIBITED";
1150
+ } | undefined;
1151
+ earthquake?: {
1152
+ depthKm: number;
1153
+ felt: number;
1154
+ magnitude: number;
1155
+ } | undefined;
1156
+ evacuation?: {
1157
+ county: string;
1158
+ eventType: string;
1159
+ level: "ORDER" | "WARNING" | "ADVISORY" | "SHELTER_IN_PLACE";
1160
+ zoneId: string;
1161
+ } | undefined;
1162
+ fireWeather?: {
1163
+ sourceEvent: string;
1164
+ state: "normal" | "elevated" | "red-flag";
1165
+ zones: string[];
1166
+ } | undefined;
1167
+ mesh?: {
1168
+ name: string;
1169
+ nodeType: "repeater" | "companion" | "room_server" | "sensor";
1170
+ publicKey: string;
1171
+ reachability: "MESH_REACHABILITY_UNSPECIFIED" | "REACHABLE" | "UNREACHABLE";
1172
+ telemetry: {
1173
+ admin: {
1174
+ airtimeMs: string;
1175
+ batteryPercent: number | null;
1176
+ batteryPercentSource: "" | "measured" | "estimated";
1177
+ batteryVolts: number | null;
1178
+ directDups: string;
1179
+ floodDups: string;
1180
+ fullEvents: string;
1181
+ humidity: number | null;
1182
+ lastAttemptAt: string | null;
1183
+ lastRssiDbm: number | null;
1184
+ lastSnrDb: number | null;
1185
+ lastSuccessAt: string | null;
1186
+ noiseFloorDbm: number | null;
1187
+ packetsReceived: string;
1188
+ packetsSent: string;
1189
+ pressure: number | null;
1190
+ recvDirect: string;
1191
+ recvErrors: string;
1192
+ recvFlood: string;
1193
+ reportedAt: string | null;
1194
+ reporterId: string;
1195
+ rxAirtimeMs: string;
1196
+ sentDirect: string;
1197
+ sentFlood: string;
1198
+ temperatureC: number | null;
1199
+ txQueueLen: number | null;
1200
+ uptimeSeconds: string;
1201
+ } | null;
1202
+ gateways: string[];
1203
+ hopCount: number | null;
1204
+ lastAdvertAt: string | null;
1205
+ lastHeardAt: string | null;
1206
+ lastRelayedAt: string | null;
1207
+ rssi: number | null;
1208
+ snr: number | null;
1209
+ } | null;
1210
+ } | undefined;
1211
+ power?: {
1212
+ allClear: string | null;
1213
+ cause: string;
1214
+ crewStatus: string;
1215
+ customersAffected: number;
1216
+ deEnergizationEnd: string | null;
1217
+ deEnergizationStart: string | null;
1218
+ estimatedRestoration: string | null;
1219
+ eventId: string;
1220
+ eventName: string;
1221
+ medicalBaselineAffected: number;
1222
+ outageId: string;
1223
+ stage: "" | "Watch" | "Warning";
1224
+ timePeriod: string;
1225
+ } | undefined;
1226
+ roadIncident?: {
1227
+ closure: {
1228
+ begin: {
1229
+ lat: number;
1230
+ lng: number;
1231
+ } | null;
1232
+ beginLocation: string;
1233
+ closureDuration: "Standard" | "Long Term" | "Intermittent";
1234
+ closureId: string;
1235
+ closureType: string;
1236
+ direction: string;
1237
+ district: number;
1238
+ end: {
1239
+ lat: number;
1240
+ lng: number;
1241
+ } | null;
1242
+ endIndefinite: boolean;
1243
+ endLocation: string;
1244
+ estimatedDelayMinutes: number;
1245
+ facility: string;
1246
+ lanesClosed: string;
1247
+ logNumber: string;
1248
+ plannedEnd: string | null;
1249
+ plannedStart: string;
1250
+ route: string;
1251
+ setUpAt: string | null;
1252
+ totalLanes: number;
1253
+ windowId: string;
1254
+ workType: string;
1255
+ } | null;
1256
+ duration: "" | "unknown" | "< 1 hour" | "several hours" | "ongoing";
1257
+ impact: "" | "none" | "light" | "moderate" | "severe";
1258
+ logNumber: string;
1259
+ metadata: Record<string, string>;
1260
+ } | undefined;
1261
+ weatherAlert?: {
1262
+ areaDesc: string;
1263
+ certainty: "Unknown" | "Observed" | "Likely" | "Possible" | "Unlikely";
1264
+ instruction: string;
1265
+ nwsSeverity: "Extreme" | "Severe" | "Moderate" | "Minor" | "Unknown";
1266
+ urgency: "Unknown" | "Immediate" | "Expected" | "Future" | "Past";
1267
+ zones: string[];
1268
+ } | undefined;
1269
+ wildfire?: {
1270
+ acres: number;
1271
+ cause: string;
1272
+ containment: number;
1273
+ county: string;
1274
+ hasPerimeter: boolean;
1275
+ } | undefined;
1276
+ };
1277
+ ingestedAt: string;
1278
+ observedAt: string;
1279
+ revision: number;
1280
+ }[];
1281
+ }>>;
1282
+ };
1283
+ export type SierraClient = ReturnType<typeof createSierraClient>;
1284
+ /** Yields pages, including continuation tokens. A caller stopping early owns that incompleteness. */
1285
+ export declare function paginate<T extends {
1286
+ nextPageToken: string;
1287
+ }>(load: (pageToken?: string) => Promise<ApiResult<T>>, maxPages?: number): AsyncGenerator<T>;