@crvouga/atlas 0.10.0 → 0.10.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 (45) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/schema/src/common.d.ts +2 -2
  3. package/dist/schema/src/manifest.d.ts +4 -4
  4. package/dist/schema/src/spec.d.ts +6 -6
  5. package/package.json +3 -3
  6. package/packages/schema/schemas/check-detail.schema.json +15 -15
  7. package/packages/schema/schemas/checks-result.schema.json +2 -2
  8. package/packages/schema/schemas/command-error.schema.json +4 -4
  9. package/packages/schema/schemas/doctor-result.schema.json +4 -4
  10. package/packages/schema/schemas/effective-delta.schema.json +69 -95
  11. package/packages/schema/schemas/effective-evidence.schema.json +63 -89
  12. package/packages/schema/schemas/evidence-page.schema.json +41 -59
  13. package/packages/schema/schemas/init-plan.schema.json +58 -90
  14. package/packages/schema/schemas/layer-rows.schema.json +17 -29
  15. package/packages/schema/schemas/layer.schema.json +54 -70
  16. package/packages/schema/schemas/live-run-start.schema.json +1 -1
  17. package/packages/schema/schemas/live-run.schema.json +1 -1
  18. package/packages/schema/schemas/merge-result.schema.json +6 -6
  19. package/packages/schema/schemas/outline.schema.json +7 -11
  20. package/packages/schema/schemas/path-record.schema.json +12 -28
  21. package/packages/schema/schemas/problem.schema.json +9 -9
  22. package/packages/schema/schemas/publish-checks.schema.json +27 -43
  23. package/packages/schema/schemas/publish-result.schema.json +16 -24
  24. package/packages/schema/schemas/ready.schema.json +12 -12
  25. package/packages/schema/schemas/report-event.schema.json +22 -28
  26. package/packages/schema/schemas/report-run.schema.json +33 -59
  27. package/packages/schema/schemas/report-runs.schema.json +24 -38
  28. package/packages/schema/schemas/report-status.schema.json +30 -54
  29. package/packages/schema/schemas/run-info.schema.json +9 -21
  30. package/packages/schema/schemas/run-summary.schema.json +6 -14
  31. package/packages/schema/schemas/server-config.schema.json +21 -21
  32. package/packages/schema/schemas/server-editable-settings.schema.json +14 -14
  33. package/packages/schema/schemas/server-info.schema.json +15 -19
  34. package/packages/schema/schemas/server-settings-snapshot.schema.json +28 -28
  35. package/packages/schema/schemas/spec-set.schema.json +16 -24
  36. package/packages/schema/schemas/state-node.schema.json +16 -16
  37. package/packages/schema/schemas/state-record.schema.json +5 -9
  38. package/packages/schema/schemas/store-listing.schema.json +3 -7
  39. package/packages/schema/schemas/store-write-result.schema.json +2 -2
  40. package/packages/schema/schemas/stream-result.schema.json +13 -17
  41. package/packages/schema/schemas/test-catalog.schema.json +109 -151
  42. package/packages/schema/schemas/test-history.schema.json +72 -136
  43. package/packages/schema/schemas/timeline-entry.schema.json +2 -2
  44. package/packages/schema/schemas/transition-record.schema.json +9 -21
  45. package/packages/server/openapi.json +620 -910
@@ -4,8 +4,8 @@
4
4
  "type": "object",
5
5
  "properties": {
6
6
  "ok": {
7
- "description": "False when `verification` was asked for and failed (the exit code is then 1)",
8
- "type": "boolean"
7
+ "type": "boolean",
8
+ "description": "False when `verification` was asked for and failed (the exit code is then 1)"
9
9
  },
10
10
  "directory": {
11
11
  "type": "string"
@@ -14,13 +14,9 @@
14
14
  "type": "object",
15
15
  "properties": {
16
16
  "name": {
17
- "anyOf": [
18
- {
19
- "type": "string"
20
- },
21
- {
22
- "type": "null"
23
- }
17
+ "type": [
18
+ "string",
19
+ "null"
24
20
  ]
25
21
  },
26
22
  "packageManager": {
@@ -57,18 +53,14 @@
57
53
  "type": "object",
58
54
  "properties": {
59
55
  "branch": {
60
- "anyOf": [
61
- {
62
- "type": "string"
63
- },
64
- {
65
- "type": "null"
66
- }
56
+ "type": [
57
+ "string",
58
+ "null"
67
59
  ]
68
60
  },
69
61
  "defaultBranch": {
70
- "description": "`main` unless the repository says otherwise",
71
- "type": "string"
62
+ "type": "string",
63
+ "description": "`main` unless the repository says otherwise"
72
64
  }
73
65
  },
74
66
  "required": [
@@ -90,13 +82,9 @@
90
82
  "type": "object",
91
83
  "properties": {
92
84
  "url": {
93
- "anyOf": [
94
- {
95
- "type": "string"
96
- },
97
- {
98
- "type": "null"
99
- }
85
+ "type": [
86
+ "string",
87
+ "null"
100
88
  ]
101
89
  },
102
90
  "tokenEnv": {
@@ -115,17 +103,12 @@
115
103
  "properties": {
116
104
  "directory": {
117
105
  "description": "The folder to pass as `--specs`, relative to the project; null when no spec files were found",
118
- "anyOf": [
119
- {
120
- "type": "string"
121
- },
122
- {
123
- "type": "null"
124
- }
106
+ "type": [
107
+ "string",
108
+ "null"
125
109
  ]
126
110
  },
127
111
  "kinds": {
128
- "description": "Spec files by kind: `gherkin`, `quint`, `dmn`, `alloy`, `openslo`, `scxml`, …",
129
112
  "type": "object",
130
113
  "propertyNames": {
131
114
  "type": "string"
@@ -134,7 +117,8 @@
134
117
  "type": "integer",
135
118
  "minimum": 0,
136
119
  "maximum": 9007199254740991
137
- }
120
+ },
121
+ "description": "Spec files by kind: `gherkin`, `quint`, `dmn`, `alloy`, `openslo`, `scxml`, …"
138
122
  }
139
123
  },
140
124
  "required": [
@@ -149,66 +133,58 @@
149
133
  "type": "object",
150
134
  "properties": {
151
135
  "id": {
152
- "description": "A stable name for the suite, lowercase: `vitest`, `playwright`, `pytest`, … Used as the default `--producer`",
153
- "type": "string"
136
+ "type": "string",
137
+ "description": "A stable name for the suite, lowercase: `vitest`, `playwright`, `pytest`, … Used as the default `--producer`"
154
138
  },
155
139
  "runner": {
156
- "description": "What runs it: `vitest`, `jest`, `playwright`, `bun-test`, `mocha`, `cypress`, `cucumber`, `pytest`, `go-test`, `atlas-statecharts`",
157
- "type": "string"
140
+ "type": "string",
141
+ "description": "What runs it: `vitest`, `jest`, `playwright`, `bun-test`, `mocha`, `cypress`, `cucumber`, `pytest`, `go-test`, `atlas-statecharts`"
158
142
  },
159
143
  "evidence": {
160
- "description": "Where the detection came from, such as `package.json devDependencies: vitest`",
161
- "type": "string"
144
+ "type": "string",
145
+ "description": "Where the detection came from, such as `package.json devDependencies: vitest`"
162
146
  },
163
147
  "run": {
164
- "description": "A command that runs the suite and writes its results to `output`. Its exit code is the suite's; publish regardless",
165
- "type": "string"
148
+ "type": "string",
149
+ "description": "A command that runs the suite and writes its results to `output`. Its exit code is the suite's; publish regardless"
166
150
  },
167
151
  "output": {
168
- "description": "The file the results are written to",
169
- "type": "string"
152
+ "type": "string",
153
+ "description": "The file the results are written to"
170
154
  },
171
155
  "format": {
172
- "description": "How `publish` should read `output`: `--junit`, `--ctrf` or `--manifest`",
173
156
  "type": "string",
174
157
  "enum": [
175
158
  "junit",
176
159
  "ctrf",
177
160
  "manifest"
178
- ]
161
+ ],
162
+ "description": "How `publish` should read `output`: `--junit`, `--ctrf` or `--manifest`"
179
163
  },
180
164
  "environment": {
181
165
  "description": "The client the suite checks (`desktop-web`, `ios`, …) when that is known; null when it should be chosen",
182
- "anyOf": [
183
- {
184
- "type": "string"
185
- },
186
- {
187
- "type": "null"
188
- }
166
+ "type": [
167
+ "string",
168
+ "null"
189
169
  ]
190
170
  },
191
171
  "publish": {
192
- "description": "The command that sends `output` to the server",
193
- "type": "string"
172
+ "type": "string",
173
+ "description": "The command that sends `output` to the server"
194
174
  },
195
175
  "stream": {
196
176
  "description": "The command that streams checks as they finish, when the runner can print them as JSON lines; else null",
197
- "anyOf": [
198
- {
199
- "type": "string"
200
- },
201
- {
202
- "type": "null"
203
- }
177
+ "type": [
178
+ "string",
179
+ "null"
204
180
  ]
205
181
  },
206
182
  "prerequisites": {
207
- "description": "What must be installed or configured first, as commands (`bun add -d jest-junit`)",
208
183
  "type": "array",
209
184
  "items": {
210
185
  "type": "string"
211
- }
186
+ },
187
+ "description": "What must be installed or configured first, as commands (`bun add -d jest-junit`)"
212
188
  }
213
189
  },
214
190
  "required": [
@@ -232,24 +208,24 @@
232
208
  "type": "object",
233
209
  "properties": {
234
210
  "path": {
235
- "description": "Relative to the project directory",
236
- "type": "string"
211
+ "type": "string",
212
+ "description": "Relative to the project directory"
237
213
  },
238
214
  "action": {
239
- "description": "`unchanged`: already what it would write, so applying changes nothing",
240
215
  "type": "string",
241
216
  "enum": [
242
217
  "create",
243
218
  "update",
244
219
  "unchanged"
245
- ]
220
+ ],
221
+ "description": "`unchanged`: already what it would write, so applying changes nothing"
246
222
  },
247
223
  "purpose": {
248
224
  "type": "string"
249
225
  },
250
226
  "content": {
251
- "description": "The whole file as it would be written",
252
- "type": "string"
227
+ "type": "string",
228
+ "description": "The whole file as it would be written"
253
229
  }
254
230
  },
255
231
  "required": [
@@ -262,14 +238,13 @@
262
238
  }
263
239
  },
264
240
  "written": {
265
- "description": "The files `--write` wrote; empty without it",
266
241
  "type": "array",
267
242
  "items": {
268
243
  "type": "string"
269
- }
244
+ },
245
+ "description": "The files `--write` wrote; empty without it"
270
246
  },
271
247
  "verification": {
272
- "description": "Present with `--verify` (and a server): whether the server answers, and what the token in `ATLAS_TOKEN` may do",
273
248
  "anyOf": [
274
249
  {
275
250
  "type": "object",
@@ -278,26 +253,18 @@
278
253
  "type": "boolean"
279
254
  },
280
255
  "role": {
281
- "anyOf": [
282
- {
283
- "type": "string"
284
- },
285
- {
286
- "type": "null"
287
- }
256
+ "type": [
257
+ "string",
258
+ "null"
288
259
  ]
289
260
  },
290
261
  "canPublish": {
291
262
  "type": "boolean"
292
263
  },
293
264
  "error": {
294
- "anyOf": [
295
- {
296
- "type": "string"
297
- },
298
- {
299
- "type": "null"
300
- }
265
+ "type": [
266
+ "string",
267
+ "null"
301
268
  ]
302
269
  }
303
270
  },
@@ -312,14 +279,15 @@
312
279
  {
313
280
  "type": "null"
314
281
  }
315
- ]
282
+ ],
283
+ "description": "Present with `--verify` (and a server): whether the server answers, and what the token in `ATLAS_TOKEN` may do"
316
284
  },
317
285
  "nextSteps": {
318
- "description": "What to do next, in order, as plain instructions an agent can follow",
319
286
  "type": "array",
320
287
  "items": {
321
288
  "type": "string"
322
- }
289
+ },
290
+ "description": "What to do next, in order, as plain instructions an agent can follow"
323
291
  },
324
292
  "warnings": {
325
293
  "type": "array",
@@ -12,12 +12,12 @@
12
12
  "type": "object",
13
13
  "properties": {
14
14
  "kind": {
15
- "description": "The kind of the part holding the check. Part of the slot",
16
- "type": "string"
15
+ "type": "string",
16
+ "description": "The kind of the part holding the check. Part of the slot"
17
17
  },
18
18
  "id": {
19
- "description": "The check id. Part of the slot",
20
- "type": "string"
19
+ "type": "string",
20
+ "description": "The check id. Part of the slot"
21
21
  },
22
22
  "title": {
23
23
  "type": "string"
@@ -33,18 +33,14 @@
33
33
  },
34
34
  "specPath": {
35
35
  "description": "The spec the check belongs to, `specs/<path>`, or null",
36
- "anyOf": [
37
- {
38
- "type": "string"
39
- },
40
- {
41
- "type": "null"
42
- }
36
+ "type": [
37
+ "string",
38
+ "null"
43
39
  ]
44
40
  },
45
41
  "detail": {
46
- "description": "Why it has this status; empty when there is nothing to add",
47
- "type": "string"
42
+ "type": "string",
43
+ "description": "Why it has this status; empty when there is nothing to add"
48
44
  },
49
45
  "measurements": {
50
46
  "type": "array",
@@ -73,13 +69,9 @@
73
69
  }
74
70
  },
75
71
  "testId": {
76
- "anyOf": [
77
- {
78
- "type": "string"
79
- },
80
- {
81
- "type": "null"
82
- }
72
+ "type": [
73
+ "string",
74
+ "null"
83
75
  ]
84
76
  },
85
77
  "variant": {
@@ -92,13 +84,9 @@
92
84
  }
93
85
  },
94
86
  "durationMs": {
95
- "anyOf": [
96
- {
97
- "type": "number"
98
- },
99
- {
100
- "type": "null"
101
- }
87
+ "type": [
88
+ "number",
89
+ "null"
102
90
  ]
103
91
  },
104
92
  "evidence": {
@@ -180,14 +168,14 @@
180
168
  }
181
169
  },
182
170
  "fingerprints": {
183
- "description": "Spec path to the fingerprint the layer recorded for it",
184
171
  "type": "object",
185
172
  "propertyNames": {
186
173
  "type": "string"
187
174
  },
188
175
  "additionalProperties": {
189
176
  "type": "string"
190
- }
177
+ },
178
+ "description": "Spec path to the fingerprint the layer recorded for it"
191
179
  }
192
180
  },
193
181
  "required": [
@@ -4,72 +4,56 @@
4
4
  "type": "object",
5
5
  "properties": {
6
6
  "schemaVersion": {
7
- "description": "The major version of this contract",
8
7
  "type": "number",
9
- "const": 1
8
+ "const": 1,
9
+ "description": "The major version of this contract"
10
10
  },
11
11
  "id": {
12
- "description": "64 lowercase hex digits. Opaque to readers",
13
12
  "type": "string",
14
- "pattern": "^[0-9a-f]{64}$"
13
+ "pattern": "^[0-9a-f]{64}$",
14
+ "description": "64 lowercase hex digits. Opaque to readers"
15
15
  },
16
16
  "producer": {
17
- "description": "A stable name for the suite or tool. With the check id, environment and parameters it picks the slot a layer fills",
18
17
  "type": "string",
19
- "minLength": 1
18
+ "minLength": 1,
19
+ "description": "A stable name for the suite or tool. With the check id, environment and parameters it picks the slot a layer fills"
20
20
  },
21
21
  "recordedAtMs": {
22
- "description": "When the checks ran, in epoch milliseconds. The newest completed result wins its slot",
23
22
  "type": "number",
24
- "minimum": 0
23
+ "minimum": 0,
24
+ "description": "When the checks ran, in epoch milliseconds. The newest completed result wins its slot"
25
25
  },
26
26
  "sha": {
27
27
  "description": "The commit the checks ran against. Provenance only; it never partitions a report",
28
- "anyOf": [
29
- {
30
- "type": "string"
31
- },
32
- {
33
- "type": "null"
34
- }
28
+ "type": [
29
+ "string",
30
+ "null"
35
31
  ]
36
32
  },
37
33
  "branch": {
38
34
  "description": "Provenance only",
39
- "anyOf": [
40
- {
41
- "type": "string"
42
- },
43
- {
44
- "type": "null"
45
- }
35
+ "type": [
36
+ "string",
37
+ "null"
46
38
  ]
47
39
  },
48
40
  "runUrl": {
49
41
  "description": "Where to read the CI run that produced it",
50
- "anyOf": [
51
- {
52
- "type": "string"
53
- },
54
- {
55
- "type": "null"
56
- }
42
+ "type": [
43
+ "string",
44
+ "null"
57
45
  ]
58
46
  },
59
47
  "environment": {
60
48
  "description": "The client that was checked: desktop-web, mobile-web, ios, android, or any other lowercase name",
61
- "anyOf": [
62
- {
63
- "type": "string"
64
- },
65
- {
66
- "type": "null"
67
- }
49
+ "type": [
50
+ "string",
51
+ "null"
68
52
  ]
69
53
  },
70
54
  "parameters": {
71
- "description": "Other choices that make a result its own slot, such as a device size",
72
55
  "default": {},
56
+ "description": "Other choices that make a result its own slot, such as a device size",
73
57
  "type": "object",
74
58
  "propertyNames": {
75
59
  "type": "string"
@@ -141,8 +125,8 @@
141
125
  }
142
126
  },
143
127
  "sha": {
144
- "description": "Repeats the layer sha; readers use the layer",
145
128
  "default": "",
129
+ "description": "Repeats the layer sha; readers use the layer",
146
130
  "type": "string"
147
131
  },
148
132
  "id": {
@@ -150,9 +134,9 @@
150
134
  "minLength": 1
151
135
  },
152
136
  "kind": {
153
- "description": "An open category: behavior, performance, accessibility… A new kind needs no change to a reader",
154
137
  "type": "string",
155
- "minLength": 1
138
+ "minLength": 1,
139
+ "description": "An open category: behavior, performance, accessibility… A new kind needs no change to a reader"
156
140
  },
157
141
  "title": {
158
142
  "type": "string"
@@ -167,9 +151,9 @@
167
151
  "type": "object",
168
152
  "properties": {
169
153
  "id": {
170
- "description": "The check's stable identity within its producer. The same check must keep the same id in every layer, or layers cannot replace one another",
171
154
  "type": "string",
172
- "minLength": 1
155
+ "minLength": 1,
156
+ "description": "The check's stable identity within its producer. The same check must keep the same id in every layer, or layers cannot replace one another"
173
157
  },
174
158
  "title": {
175
159
  "type": "string"
@@ -184,8 +168,8 @@
184
168
  ]
185
169
  },
186
170
  "detail": {
187
- "description": "Why it failed, or what was measured",
188
171
  "default": "",
172
+ "description": "Why it failed, or what was measured",
189
173
  "type": "string"
190
174
  },
191
175
  "specPath": {
@@ -203,8 +187,8 @@
203
187
  "minLength": 1
204
188
  },
205
189
  "value": {
206
- "description": "A finite number",
207
- "type": "number"
190
+ "type": "number",
191
+ "description": "A finite number"
208
192
  },
209
193
  "unit": {
210
194
  "type": "string"
@@ -369,9 +353,9 @@
369
353
  "type": "object",
370
354
  "properties": {
371
355
  "type": {
372
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
373
356
  "type": "string",
374
- "minLength": 1
357
+ "minLength": 1,
358
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
375
359
  },
376
360
  "message": {
377
361
  "type": "string"
@@ -597,9 +581,9 @@
597
581
  "type": "object",
598
582
  "properties": {
599
583
  "type": {
600
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
601
584
  "type": "string",
602
- "minLength": 1
585
+ "minLength": 1,
586
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
603
587
  },
604
588
  "message": {
605
589
  "type": "string"
@@ -862,9 +846,9 @@
862
846
  "type": "object",
863
847
  "properties": {
864
848
  "type": {
865
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
866
849
  "type": "string",
867
- "minLength": 1
850
+ "minLength": 1,
851
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
868
852
  },
869
853
  "message": {
870
854
  "type": "string"
@@ -1062,9 +1046,9 @@
1062
1046
  "type": "object",
1063
1047
  "properties": {
1064
1048
  "type": {
1065
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
1066
1049
  "type": "string",
1067
- "minLength": 1
1050
+ "minLength": 1,
1051
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
1068
1052
  },
1069
1053
  "message": {
1070
1054
  "type": "string"
@@ -1312,9 +1296,9 @@
1312
1296
  "type": "object",
1313
1297
  "properties": {
1314
1298
  "type": {
1315
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
1316
1299
  "type": "string",
1317
- "minLength": 1
1300
+ "minLength": 1,
1301
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
1318
1302
  },
1319
1303
  "message": {
1320
1304
  "type": "string"
@@ -1471,9 +1455,9 @@
1471
1455
  "type": "object",
1472
1456
  "properties": {
1473
1457
  "id": {
1474
- "description": "The check's stable identity within its producer. The same check must keep the same id in every layer, or layers cannot replace one another",
1475
1458
  "type": "string",
1476
- "minLength": 1
1459
+ "minLength": 1,
1460
+ "description": "The check's stable identity within its producer. The same check must keep the same id in every layer, or layers cannot replace one another"
1477
1461
  },
1478
1462
  "title": {
1479
1463
  "type": "string"
@@ -1488,8 +1472,8 @@
1488
1472
  ]
1489
1473
  },
1490
1474
  "detail": {
1491
- "description": "Why it failed, or what was measured",
1492
1475
  "default": "",
1476
+ "description": "Why it failed, or what was measured",
1493
1477
  "type": "string"
1494
1478
  },
1495
1479
  "specPath": {
@@ -1507,8 +1491,8 @@
1507
1491
  "minLength": 1
1508
1492
  },
1509
1493
  "value": {
1510
- "description": "A finite number",
1511
- "type": "number"
1494
+ "type": "number",
1495
+ "description": "A finite number"
1512
1496
  },
1513
1497
  "unit": {
1514
1498
  "type": "string"
@@ -1673,9 +1657,9 @@
1673
1657
  "type": "object",
1674
1658
  "properties": {
1675
1659
  "type": {
1676
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
1677
1660
  "type": "string",
1678
- "minLength": 1
1661
+ "minLength": 1,
1662
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
1679
1663
  },
1680
1664
  "message": {
1681
1665
  "type": "string"
@@ -1901,9 +1885,9 @@
1901
1885
  "type": "object",
1902
1886
  "properties": {
1903
1887
  "type": {
1904
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
1905
1888
  "type": "string",
1906
- "minLength": 1
1889
+ "minLength": 1,
1890
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
1907
1891
  },
1908
1892
  "message": {
1909
1893
  "type": "string"
@@ -2166,9 +2150,9 @@
2166
2150
  "type": "object",
2167
2151
  "properties": {
2168
2152
  "type": {
2169
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
2170
2153
  "type": "string",
2171
- "minLength": 1
2154
+ "minLength": 1,
2155
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
2172
2156
  },
2173
2157
  "message": {
2174
2158
  "type": "string"
@@ -2366,9 +2350,9 @@
2366
2350
  "type": "object",
2367
2351
  "properties": {
2368
2352
  "type": {
2369
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
2370
2353
  "type": "string",
2371
- "minLength": 1
2354
+ "minLength": 1,
2355
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
2372
2356
  },
2373
2357
  "message": {
2374
2358
  "type": "string"
@@ -2782,9 +2766,9 @@
2782
2766
  "type": "object",
2783
2767
  "properties": {
2784
2768
  "type": {
2785
- "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…",
2786
2769
  "type": "string",
2787
- "minLength": 1
2770
+ "minLength": 1,
2771
+ "description": "An open vocabulary: note, warning, deprecation, issue, accessibility, coverage…"
2788
2772
  },
2789
2773
  "message": {
2790
2774
  "type": "string"