com.mytinygiraffe.wx.alert.v1

suddenlygreg.com

Schema Diff

+5 -4

From

CID
bafyreicc2xv5ayj...
Indexed At
2026-08-26 19:26 UTC
View this version

To

CID
bafyreig4uluncwp...
Indexed At
2026-08-26 19:38 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "com.mytinygiraffe.wx.alert.v1",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "any",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "geometry",
11 11
          "properties",
12 12
          "parsed"
13 13
        ],
14 14
        "properties": {
15 15
          "parsed": {
16 16
            "type": "object",
17 17
            "properties": {
18 18
              "area": {
19 19
                "type": "array",
20 20
                "items": {
21 21
                  "type": "string",
22 22
                  "description": "One place covered by this area"
23 23
                },
24 24
                "description": "The original alert area split into individual locations instead of a single long string"
25 25
              },
26 26
              "locations": {
27 27
                "type": "object",
28 28
                "properties": {
29 29
                  "cities": {
30 30
                    "type": "array",
31 31
                    "items": {
32 32
                      "type": "string"
33 33
                    },
34 34
                    "description": "A list of cities affected by the alert, extracted from the original alert description"
35 35
                  },
36 36
                  "regions": {
37 37
                    "type": "array",
38 38
                    "items": {
39 39
                      "type": "object",
40 40
                      "properties": {
41 41
                        "area": {
42 42
                          "type": "string",
43 43
                          "description": "A description of a geographical region, such as 'northeastern Iowa'"
44 44
                        },
45 45
                        "counties": {
46 46
                          "type": "array",
47 47
                          "items": {
48 48
                            "type": "string"
49 49
                          },
50 50
                          "description": "A list of counties or county-equivalents in the region"
51 51
                        }
52 52
                      }
53 53
                    }
54 54
                  }
55 55
                },
56 56
                "description": "The regions and counties affected by this alert, extracted from the original alert description"
57 57
              },
58 58
              "description": {
59 59
                "type": "string",
60 60
                "description": "The original alert description parsed into Markdown, with locations moved to the locations property"
61 61
              },
62 62
              "instruction": {
63 63
                "type": "string",
64 64
                "instruction": "The original alert instruction with extraneous whitespace removed"
65 65
              }
66 66
            },
67 67
            "description": "Text fields from the original alert, parsed"
68 68
          },
69 69
          "geometry": {
70 70
            "type": "object",
71 -
            "title": "GeoJSON Polygon",
72 71
            "required": [
73 72
              "type",
74 73
              "coordinates"
75 74
            ],
76 75
            "properties": {
77 76
              "type": {
78 77
                "enum": [
79 78
                  "Polygon",
80 79
                  "MultiPolygon"
81 80
                ],
82 81
                "type": "string"
83 82
              },
84 83
              "coordinates": {
85 84
                "type": "unknown",
86 85
                "description": "A GeoJSON polygon or multipolygon. Please refer to IETF RFC 7946 for information on the GeoJSON format. To comply with the AT Proto Lexicon schema, the coordinates are floating-point numbers encoded as decimal strings."
87 86
              }
88 -
            }
87 +
            },
88 +
            "description": "GeoJSON polygon or multipolygon"
89 89
          },
90 90
          "properties": {
91 91
            "type": "object",
92 92
            "properties": {
93 93
              "id": {
94 94
                "type": "string",
95 95
                "description": "The identifier of the alert message."
96 96
              },
97 97
              "web": {
98 98
                "type": "string",
99 99
                "description": "The identifier of the hyperlink associating additional information within the alert message."
100 100
              },
101 101
              "code": {
102 102
                "type": "string",
103 103
                "description": "The code denoting the special handling of the alert message."
104 104
              },
105 105
              "ends": {
106 106
                "type": "string",
107 107
                "format": "datetime",
108 108
                "description": "The expected end time of the subject event of the alert message."
109 109
              },
110 110
              "note": {
111 111
                "type": "string",
112 112
                "description": "The text note accompanying the alert message. Per CAP spec, this should accompany alerts with a status of \"Test\".\n"
113 113
              },
114 114
              "sent": {
115 115
                "type": "string",
116 116
                "format": "datetime",
117 117
                "description": "The time of the origination of the alert message."
118 118
              },
119 119
              "event": {
120 120
                "type": "string",
121 121
                "description": "The text denoting the type of the subject event of the alert message."
122 122
              },
123 123
              "onset": {
124 124
                "type": "string",
125 125
                "format": "datetime",
126 126
                "description": "The expected time of the beginning of the subject event of the alert message."
127 127
              },
128 128
              "scope": {
129 129
                "enum": [
130 130
                  "Public",
131 131
                  "Restricted",
132 132
                  "Private"
133 133
                ],
134 134
                "type": "string",
135 135
                "description": "The code denoting the intended distribution of the alert message."
136 136
              },
137 137
              "sender": {
138 138
                "type": "string",
139 139
                "description": "Email address of the NWS webmaster."
140 140
              },
141 141
              "status": {
142 142
                "enum": [
143 143
                  "Actual",
144 144
                  "Exercise",
145 145
                  "System",
146 146
                  "Test",
147 147
                  "Draft"
148 148
                ],
149 149
                "type": "string"
150 150
              },
151 151
              "expires": {
152 152
                "type": "string",
153 153
                "format": "datetime",
154 154
                "description": "The expiry time of the information of the alert message."
155 155
              },
156 156
              "geocode": {
157 157
                "type": "object",
158 158
                "properties": {
159 159
                  "UGC": {
160 160
                    "type": "array",
161 161
                    "items": {
162 162
                      "type": "string",
163 163
                      "pattern": "^(A[KLMNRSZ]|C[AOT]|D[CE]|F[LM]|G[AMU]|I[ADLN]|K[SY]|L[ACEHMOS]|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[AHKMRSWZ]|S[CDL]|T[NX]|UT|V[AIT]|W[AIVY]|[HR]I)[CZ]\\d{3}$",
164 164
                      "description": "UGC identifier for a NWS forecast zone or county.\nThe first two letters will correspond to either a state code or marine area code (see #/components/schemas/StateTerritoryCode and #/components/schemas/MarineAreaCode for lists of valid letter combinations).\nThe third letter will be Z for public/fire zone or C for county."
165 165
                    },
166 166
                    "description": "A list of NWS public zone or county identifiers."
167 167
                  },
168 168
                  "SAME": {
169 169
                    "type": "array",
170 170
                    "items": {
171 171
                      "type": "string",
172 172
                      "pattern": "^\\d{6}$"
173 173
                    },
174 174
                    "description": "A list of SAME (Specific Area Message Encoding) codes for affected counties."
175 175
                  }
176 176
                },
177 177
                "description": "Lists of codes for NWS public zones and counties affected by the alert."
178 178
              },
179 179
              "urgency": {
180 180
                "enum": [
181 181
                  "Immediate",
182 182
                  "Expected",
183 183
                  "Future",
184 184
                  "Past",
185 185
                  "Unknown"
186 186
                ],
187 187
                "type": "string"
188 188
              },
189 189
              "areaDesc": {
190 190
                "type": "string",
191 191
                "description": "A textual description of the area affected by the alert."
192 192
              },
193 193
              "category": {
194 194
                "enum": [
195 195
                  "Met",
196 196
                  "Geo",
197 197
                  "Safety",
198 198
                  "Security",
199 199
                  "Rescue",
200 200
                  "Fire",
201 201
                  "Health",
202 202
                  "Env",
203 203
                  "Transport",
204 204
                  "Infra",
205 205
                  "CBRNE",
206 206
                  "Other"
207 207
                ],
208 208
                "type": "string",
209 209
                "description": "The code denoting the category of the subject event of the alert message."
210 210
              },
211 211
              "headline": {
212 212
                "type": "string",
213 213
                "description": "The text headline of the alert message."
214 214
              },
215 215
              "language": {
216 216
                "type": "string",
217 217
                "description": "The code denoting the language of the info sub-element of the alert message."
218 218
              },
219 219
              "response": {
220 220
                "enum": [
221 221
                  "Shelter",
222 222
                  "Evacuate",
223 223
                  "Prepare",
224 224
                  "Execute",
225 225
                  "Avoid",
226 226
                  "Monitor",
227 227
                  "Assess",
228 228
                  "AllClear",
229 229
                  "None"
230 230
                ],
231 231
                "type": "string",
232 232
                "description": "The code denoting the type of action recommended for the target audience.\nThis corresponds to responseType in the CAP specification.\n"
233 233
              },
234 234
              "severity": {
235 235
                "enum": [
236 236
                  "Extreme",
237 237
                  "Severe",
238 238
                  "Moderate",
239 239
                  "Minor",
240 240
                  "Unknown"
241 241
                ],
242 242
                "type": "string"
243 243
              },
244 244
              "certainty": {
245 245
                "enum": [
246 246
                  "Observed",
247 247
                  "Likely",
248 248
                  "Possible",
249 249
                  "Unlikely",
250 250
                  "Unknown"
251 251
                ],
252 252
                "type": "string"
253 253
              },
254 254
              "effective": {
255 255
                "type": "string",
256 256
                "format": "datetime",
257 257
                "description": "The effective time of the information of the alert message."
258 258
              },
259 259
              "eventCode": {
260 260
                "type": "object",
261 261
                "description": "System-specific code identifiying the event type of the alert message The keys in this object correspond to eventCode definitions in the NWS CAP specification.\n",
262 262
                "additionalProperties": {
263 263
                  "type": "array",
264 264
                  "items": {}
265 265
                }
266 266
              },
267 267
              "parameters": {
268 268
                "type": "object",
269 269
                "description": "System-specific additional parameters associated with the alert message.\nThe keys in this object correspond to parameter definitions in the NWS CAP specification.\n",
270 270
                "additionalProperties": {
271 271
                  "type": "array",
272 272
                  "items": {}
273 273
                }
274 274
              },
275 275
              "references": {
276 276
                "type": "array",
277 277
                "items": {
278 278
                  "type": "object",
279 279
                  "properties": {
280 280
                    "id": {
281 281
                      "type": "string",
282 282
                      "format": "uri",
283 283
                      "description": "An API link to the prior alert."
284 284
                    },
285 285
                    "sent": {
286 286
                      "type": "string",
287 287
                      "format": "datetime",
288 288
                      "description": "The time the prior alert was sent."
289 289
                    },
290 290
                    "sender": {
291 291
                      "type": "string",
292 292
                      "description": "The sender of the prior alert."
293 293
                    },
294 294
                    "identifier": {
295 295
                      "type": "string",
296 296
                      "description": "The identifier of the alert message."
297 297
                    }
298 298
                  }
299 299
                },
300 300
                "description": "A list of prior alerts that this alert updates or replaces."
301 301
              },
302 302
              "senderName": {
303 303
                "type": "string",
304 304
                "description": "The text naming the originator of the alert message."
305 305
              },
306 306
              "description": {
307 307
                "type": "string",
308 308
                "description": "The text describing the subject event of the alert message."
309 309
              },
310 310
              "instruction": {
311 311
                "type": "string",
312 312
                "description": "The text describing the recommended action to be taken by recipients of the alert message.\n"
313 313
              },
314 314
              "messageType": {
315 315
                "enum": [
316 316
                  "Alert",
317 317
                  "Update",
318 318
                  "Cancel",
319 319
                  "Ack",
320 320
                  "Error"
321 321
                ],
322 322
                "type": "string"
323 323
              },
324 324
              "affectedZones": {
325 325
                "type": "array",
326 326
                "items": {
327 327
                  "type": "string",
328 328
                  "format": "uri"
329 329
                },
330 330
                "description": "An array of API links for zones affected by the alert. This is an API-specific extension field and is not part of the CAP specification.\n"
331 331
              }
332 -
            }
332 +
            },
333 +
            "description": "Alert properties, precisely as provided by api.weather.gov"
333 334
          }
334 335
        }
335 336
      },
336 -
      "description": "TODO: describe purpose of this schema"
337 +
      "description": "A weather alert issued by the US National Weather Service"
337 338
    }
338 339
  },
339 340
  "$type": "com.atproto.lexicon.schema",
340 341
  "lexicon": 1
341 342
}

Compare Other Versions

Lexicon Garden

@