@dyno-cloud/schema 0.0.0-stage → 0.1.3

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 (115) hide show
  1. package/json/budget.schema.json +239 -0
  2. package/json/catalogue.schema.json +2217 -0
  3. package/json/compare.schema.json +823 -0
  4. package/json/devices.json +399 -0
  5. package/json/doctor.schema.json +144 -0
  6. package/json/driver-message.schema.json +912 -0
  7. package/json/dyno-toml.schema.json +80 -0
  8. package/json/exposure-checkpoint.schema.json +97 -0
  9. package/json/games.schema.json +66 -0
  10. package/json/library-bucket.schema.json +22 -0
  11. package/json/library.schema.json +19 -0
  12. package/json/measures.json +407 -0
  13. package/json/probe-event.schema.json +465 -0
  14. package/json/result.schema.json +2140 -0
  15. package/json/run-request.schema.json +161 -0
  16. package/json/unclean-exit.schema.json +99 -0
  17. package/package.json +22 -4
  18. package/ts/AssetChange.ts +8 -0
  19. package/ts/AssetChangeKind.ts +6 -0
  20. package/ts/AssignedRole.ts +7 -0
  21. package/ts/AudioState.ts +6 -0
  22. package/ts/BrowserEngine.ts +6 -0
  23. package/ts/BudgetId.ts +6 -0
  24. package/ts/BudgetLimit.ts +8 -0
  25. package/ts/BudgetRef.ts +15 -0
  26. package/ts/BudgetVerdict.ts +22 -0
  27. package/ts/BuildLink.ts +6 -0
  28. package/ts/BuildManifest.ts +17 -0
  29. package/ts/CatalogueEntry.ts +7 -0
  30. package/ts/CatalogueResult.ts +22 -0
  31. package/ts/CheckResult.ts +16 -0
  32. package/ts/CompareDeterministic.ts +42 -0
  33. package/ts/CompareResult.ts +12 -0
  34. package/ts/CompareRun.ts +17 -0
  35. package/ts/ContextKind.ts +6 -0
  36. package/ts/Covers.ts +6 -0
  37. package/ts/Deterministic.ts +35 -0
  38. package/ts/DeviceClass.ts +6 -0
  39. package/ts/DeviceEntry.ts +25 -0
  40. package/ts/DeviceKind.ts +6 -0
  41. package/ts/DoctorCheck.ts +16 -0
  42. package/ts/DoctorCheckId.ts +6 -0
  43. package/ts/DoctorReport.ts +20 -0
  44. package/ts/DriverInfo.ts +10 -0
  45. package/ts/DriverMessage.ts +37 -0
  46. package/ts/Environment.ts +13 -0
  47. package/ts/EnvironmentBrowser.ts +23 -0
  48. package/ts/EnvironmentDevice.ts +27 -0
  49. package/ts/EnvironmentOs.ts +12 -0
  50. package/ts/Evidence.ts +11 -0
  51. package/ts/ExposureCheckpoint.ts +9 -0
  52. package/ts/ExposureSample.ts +15 -0
  53. package/ts/FileKind.ts +6 -0
  54. package/ts/Finding.ts +29 -0
  55. package/ts/Fix.ts +22 -0
  56. package/ts/FixAction.ts +7 -0
  57. package/ts/FrameState.ts +6 -0
  58. package/ts/GameHookKind.ts +6 -0
  59. package/ts/HostProfile.ts +47 -0
  60. package/ts/Inputs.ts +34 -0
  61. package/ts/Library.ts +6 -0
  62. package/ts/LibraryBucket.ts +6 -0
  63. package/ts/LiveFrame.ts +19 -0
  64. package/ts/Machine.ts +14 -0
  65. package/ts/ManifestFile.ts +12 -0
  66. package/ts/Measure.ts +50 -0
  67. package/ts/MeasureChange.ts +14 -0
  68. package/ts/MeasureEntry.ts +13 -0
  69. package/ts/MeasureId.ts +6 -0
  70. package/ts/MeasureItem.ts +15 -0
  71. package/ts/MeasureStatus.ts +6 -0
  72. package/ts/MeasureValue.ts +7 -0
  73. package/ts/MemorySample.ts +24 -0
  74. package/ts/MessageDirection.ts +6 -0
  75. package/ts/Method.ts +6 -0
  76. package/ts/OsName.ts +6 -0
  77. package/ts/ProbeEvent.ts +48 -0
  78. package/ts/ProcessMemory.ts +22 -0
  79. package/ts/ProcessRole.ts +6 -0
  80. package/ts/ProfileRef.ts +6 -0
  81. package/ts/Quantity.ts +7 -0
  82. package/ts/RelPath.ts +9 -0
  83. package/ts/Release.ts +12 -0
  84. package/ts/ResultRef.ts +15 -0
  85. package/ts/RuleId.ts +6 -0
  86. package/ts/RunCoverage.ts +8 -0
  87. package/ts/RunInfo.ts +56 -0
  88. package/ts/RunMark.ts +6 -0
  89. package/ts/RunRequest.ts +24 -0
  90. package/ts/Scenario.ts +6 -0
  91. package/ts/Scope.ts +12 -0
  92. package/ts/Severity.ts +6 -0
  93. package/ts/Shard.ts +17 -0
  94. package/ts/Source.ts +6 -0
  95. package/ts/SourceKind.ts +7 -0
  96. package/ts/Statistic.ts +7 -0
  97. package/ts/Status.ts +9 -0
  98. package/ts/Target.ts +15 -0
  99. package/ts/Tier.ts +9 -0
  100. package/ts/TierReport.ts +26 -0
  101. package/ts/Timeline.ts +21 -0
  102. package/ts/TimelineMark.ts +11 -0
  103. package/ts/TimelineMethod.ts +6 -0
  104. package/ts/TimelineProcess.ts +22 -0
  105. package/ts/ToolBuild.ts +14 -0
  106. package/ts/Uncertainty.ts +19 -0
  107. package/ts/UncertaintyKind.ts +6 -0
  108. package/ts/UncleanExit.ts +16 -0
  109. package/ts/Unit.ts +6 -0
  110. package/ts/Verdict.ts +6 -0
  111. package/ts/VerdictChange.ts +12 -0
  112. package/ts/Versions.ts +22 -0
  113. package/ts/Viewport.ts +6 -0
  114. package/ts/index.ts +97 -0
  115. package/README.md +0 -3
@@ -0,0 +1,465 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "ProbeEvent",
4
+ "description": "One probe event. `t_ms` is `performance.now()` in the game frame.",
5
+ "oneOf": [
6
+ {
7
+ "description": "The first `requestAnimationFrame` callback ran.",
8
+ "type": "object",
9
+ "properties": {
10
+ "t_ms": {
11
+ "type": "number",
12
+ "format": "double"
13
+ },
14
+ "type": {
15
+ "type": "string",
16
+ "const": "first_frame"
17
+ }
18
+ },
19
+ "required": [
20
+ "type",
21
+ "t_ms"
22
+ ]
23
+ },
24
+ {
25
+ "description": "A message crossed between the game frame and the host page, such as `reels:ready`.",
26
+ "type": "object",
27
+ "properties": {
28
+ "direction": {
29
+ "$ref": "#/$defs/MessageDirection"
30
+ },
31
+ "name": {
32
+ "type": "string"
33
+ },
34
+ "t_ms": {
35
+ "type": "number",
36
+ "format": "double"
37
+ },
38
+ "type": {
39
+ "type": "string",
40
+ "const": "host_message"
41
+ }
42
+ },
43
+ "required": [
44
+ "type",
45
+ "direction",
46
+ "name",
47
+ "t_ms"
48
+ ]
49
+ },
50
+ {
51
+ "description": "`decodeAudioData` finished. Decoded bytes are length x channels x 4.",
52
+ "type": "object",
53
+ "properties": {
54
+ "channels": {
55
+ "type": "integer",
56
+ "format": "uint32",
57
+ "minimum": 0
58
+ },
59
+ "length": {
60
+ "type": "integer",
61
+ "format": "uint64",
62
+ "minimum": 0
63
+ },
64
+ "sample_rate": {
65
+ "type": "integer",
66
+ "format": "uint32",
67
+ "minimum": 0
68
+ },
69
+ "t_ms": {
70
+ "type": "number",
71
+ "format": "double"
72
+ },
73
+ "type": {
74
+ "type": "string",
75
+ "const": "audio_decoded"
76
+ }
77
+ },
78
+ "required": [
79
+ "type",
80
+ "length",
81
+ "channels",
82
+ "sample_rate",
83
+ "t_ms"
84
+ ]
85
+ },
86
+ {
87
+ "description": "An audio context changed state.",
88
+ "type": "object",
89
+ "properties": {
90
+ "sample_rate": {
91
+ "type": "integer",
92
+ "format": "uint32",
93
+ "minimum": 0
94
+ },
95
+ "state": {
96
+ "$ref": "#/$defs/AudioState"
97
+ },
98
+ "t_ms": {
99
+ "type": "number",
100
+ "format": "double"
101
+ },
102
+ "type": {
103
+ "type": "string",
104
+ "const": "audio_context_state"
105
+ }
106
+ },
107
+ "required": [
108
+ "type",
109
+ "state",
110
+ "sample_rate",
111
+ "t_ms"
112
+ ]
113
+ },
114
+ {
115
+ "description": "A texture upload, such as `texImage2D` or `compressedTexImage2D`.",
116
+ "type": "object",
117
+ "properties": {
118
+ "bytes": {
119
+ "type": "integer",
120
+ "format": "uint64",
121
+ "minimum": 0
122
+ },
123
+ "face": {
124
+ "description": "The cube map face, 0 to 5; 0 for a 2D texture. None for `texStorage2D` on a cube\nmap, which allocates every face at once.",
125
+ "type": [
126
+ "integer",
127
+ "null"
128
+ ],
129
+ "format": "uint32",
130
+ "default": null,
131
+ "minimum": 0
132
+ },
133
+ "height": {
134
+ "type": "integer",
135
+ "format": "uint32",
136
+ "minimum": 0
137
+ },
138
+ "level": {
139
+ "description": "The mip level. None for `texStorage2D`, which allocates every level at once.",
140
+ "type": [
141
+ "integer",
142
+ "null"
143
+ ],
144
+ "format": "uint32",
145
+ "default": null,
146
+ "minimum": 0
147
+ },
148
+ "source": {
149
+ "description": "The path of the http image or video it came from, without host, query or fragment.\nThe lab probe follows a fetched file to an ImageBitmap, a `blob:` object URL or a\nresponse made from it (also through Pixi 8's worker). None for data, a render target,\na canvas, or a `data:` URL. An upload by `texSubImage2D` into `texStorage2D` storage is\nnot seen, so its source is not either.",
150
+ "type": [
151
+ "string",
152
+ "null"
153
+ ],
154
+ "default": null
155
+ },
156
+ "source_kind": {
157
+ "description": "What an upload with no source held, when the lab probe can tell: `empty` for an\nallocation with no pixels, `canvas` for a canvas the game drew. None otherwise, and\nalways from the field probe.",
158
+ "anyOf": [
159
+ {
160
+ "$ref": "#/$defs/SourceKind"
161
+ },
162
+ {
163
+ "type": "null"
164
+ }
165
+ ],
166
+ "default": null
167
+ },
168
+ "t_ms": {
169
+ "type": "number",
170
+ "format": "double"
171
+ },
172
+ "texture": {
173
+ "description": "The probe's number for the texture, which a later upload or `texture_deleted`\nrepeats. None from a probe that does not number textures.",
174
+ "type": [
175
+ "integer",
176
+ "null"
177
+ ],
178
+ "format": "uint32",
179
+ "default": null,
180
+ "minimum": 0
181
+ },
182
+ "type": {
183
+ "type": "string",
184
+ "const": "texture_uploaded"
185
+ },
186
+ "width": {
187
+ "type": "integer",
188
+ "format": "uint32",
189
+ "minimum": 0
190
+ }
191
+ },
192
+ "required": [
193
+ "type",
194
+ "width",
195
+ "height",
196
+ "bytes",
197
+ "t_ms"
198
+ ]
199
+ },
200
+ {
201
+ "description": "The game deleted a texture.",
202
+ "type": "object",
203
+ "properties": {
204
+ "t_ms": {
205
+ "type": "number",
206
+ "format": "double"
207
+ },
208
+ "texture": {
209
+ "type": "integer",
210
+ "format": "uint32",
211
+ "minimum": 0
212
+ },
213
+ "type": {
214
+ "type": "string",
215
+ "const": "texture_deleted"
216
+ }
217
+ },
218
+ "required": [
219
+ "type",
220
+ "texture",
221
+ "t_ms"
222
+ ]
223
+ },
224
+ {
225
+ "description": "A canvas got a rendering context.",
226
+ "type": "object",
227
+ "properties": {
228
+ "antialias": {
229
+ "type": [
230
+ "boolean",
231
+ "null"
232
+ ]
233
+ },
234
+ "canvas": {
235
+ "description": "The probe's number for the canvas, which its `canvas_resized` events repeat. None from\na probe that does not number canvases.",
236
+ "type": [
237
+ "integer",
238
+ "null"
239
+ ],
240
+ "format": "uint32",
241
+ "default": null,
242
+ "minimum": 0
243
+ },
244
+ "device_pixel_ratio": {
245
+ "type": "number",
246
+ "format": "double"
247
+ },
248
+ "height": {
249
+ "type": "integer",
250
+ "format": "uint32",
251
+ "minimum": 0
252
+ },
253
+ "kind": {
254
+ "$ref": "#/$defs/ContextKind"
255
+ },
256
+ "t_ms": {
257
+ "type": "number",
258
+ "format": "double"
259
+ },
260
+ "type": {
261
+ "type": "string",
262
+ "const": "context_created"
263
+ },
264
+ "width": {
265
+ "description": "The canvas's backing size in pixels when it got its context.",
266
+ "type": "integer",
267
+ "format": "uint32",
268
+ "minimum": 0
269
+ }
270
+ },
271
+ "required": [
272
+ "type",
273
+ "kind",
274
+ "width",
275
+ "height",
276
+ "device_pixel_ratio",
277
+ "t_ms"
278
+ ]
279
+ },
280
+ {
281
+ "description": "A canvas with a rendering context got a new backing size, as when Pixi sizes its canvas\nto the screen after it starts.",
282
+ "type": "object",
283
+ "properties": {
284
+ "canvas": {
285
+ "type": "integer",
286
+ "format": "uint32",
287
+ "minimum": 0
288
+ },
289
+ "height": {
290
+ "type": "integer",
291
+ "format": "uint32",
292
+ "minimum": 0
293
+ },
294
+ "t_ms": {
295
+ "type": "number",
296
+ "format": "double"
297
+ },
298
+ "type": {
299
+ "type": "string",
300
+ "const": "canvas_resized"
301
+ },
302
+ "width": {
303
+ "type": "integer",
304
+ "format": "uint32",
305
+ "minimum": 0
306
+ }
307
+ },
308
+ "required": [
309
+ "type",
310
+ "canvas",
311
+ "width",
312
+ "height",
313
+ "t_ms"
314
+ ]
315
+ },
316
+ {
317
+ "description": "A WebGL context was lost.",
318
+ "type": "object",
319
+ "properties": {
320
+ "t_ms": {
321
+ "type": "number",
322
+ "format": "double"
323
+ },
324
+ "type": {
325
+ "type": "string",
326
+ "const": "context_lost"
327
+ }
328
+ },
329
+ "required": [
330
+ "type",
331
+ "t_ms"
332
+ ]
333
+ },
334
+ {
335
+ "description": "Frame times since the last histogram, sent every `FRAME_TIMES_EVERY_MS`. `counts[i]`\ncounts frames that took at most `bucket_upper_ms[i]`, and more than the bucket before it.\nThe edges are `FRAME_TIME_BUCKETS_MS`.",
336
+ "type": "object",
337
+ "properties": {
338
+ "bucket_upper_ms": {
339
+ "type": "array",
340
+ "items": {
341
+ "type": "integer",
342
+ "format": "uint32",
343
+ "minimum": 0
344
+ }
345
+ },
346
+ "counts": {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "integer",
350
+ "format": "uint32",
351
+ "minimum": 0
352
+ }
353
+ },
354
+ "t_ms": {
355
+ "type": "number",
356
+ "format": "double"
357
+ },
358
+ "type": {
359
+ "type": "string",
360
+ "const": "frame_times"
361
+ }
362
+ },
363
+ "required": [
364
+ "type",
365
+ "bucket_upper_ms",
366
+ "counts",
367
+ "t_ms"
368
+ ]
369
+ },
370
+ {
371
+ "description": "An optional game hook (Phase 2). Only the game knows these events.",
372
+ "type": "object",
373
+ "properties": {
374
+ "detail": {
375
+ "type": [
376
+ "string",
377
+ "null"
378
+ ]
379
+ },
380
+ "hook": {
381
+ "$ref": "#/$defs/GameHookKind"
382
+ },
383
+ "t_ms": {
384
+ "type": "number",
385
+ "format": "double"
386
+ },
387
+ "type": {
388
+ "type": "string",
389
+ "const": "game_hook"
390
+ }
391
+ },
392
+ "required": [
393
+ "type",
394
+ "hook",
395
+ "t_ms"
396
+ ]
397
+ }
398
+ ],
399
+ "$defs": {
400
+ "AudioState": {
401
+ "description": "An audio context's state.",
402
+ "type": "string",
403
+ "enum": [
404
+ "running",
405
+ "suspended",
406
+ "closed"
407
+ ]
408
+ },
409
+ "ContextKind": {
410
+ "description": "A canvas rendering context's kind.",
411
+ "type": "string",
412
+ "enum": [
413
+ "webgl",
414
+ "webgl2",
415
+ "webgpu",
416
+ "canvas2d"
417
+ ]
418
+ },
419
+ "GameHookKind": {
420
+ "description": "An optional game hook.",
421
+ "oneOf": [
422
+ {
423
+ "type": "string",
424
+ "enum": [
425
+ "spin_start",
426
+ "round_settled"
427
+ ]
428
+ },
429
+ {
430
+ "description": "The game can take a spin. Bytes to playable stop here.",
431
+ "type": "string",
432
+ "const": "playable"
433
+ },
434
+ {
435
+ "description": "The game moved to a new phase, named in `detail`.",
436
+ "type": "string",
437
+ "const": "game_phase"
438
+ }
439
+ ]
440
+ },
441
+ "MessageDirection": {
442
+ "description": "Which way a host message went.",
443
+ "type": "string",
444
+ "enum": [
445
+ "to_host",
446
+ "from_host"
447
+ ]
448
+ },
449
+ "SourceKind": {
450
+ "description": "What a texture upload with no source path held. Facts only: an allocation\nwith no pixels is often a render target, but the probe does not see what fills it.",
451
+ "oneOf": [
452
+ {
453
+ "description": "No pixels: `texStorage2D`, or `texImage2D` with null pixels.",
454
+ "type": "string",
455
+ "const": "empty"
456
+ },
457
+ {
458
+ "description": "A canvas the game drew, such as text.",
459
+ "type": "string",
460
+ "const": "canvas"
461
+ }
462
+ ]
463
+ }
464
+ }
465
+ }