@ue-shed/protocol 0.1.0-rc.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 (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/contracts/asset-audits/v1/texture-preview.schema.json +74 -0
  4. package/contracts/authoring/README.md +25 -0
  5. package/contracts/authoring/v1/apply-request.schema.json +568 -0
  6. package/contracts/authoring/v1/apply-result.schema.json +1165 -0
  7. package/contracts/authoring/v1/save-request.schema.json +53 -0
  8. package/contracts/authoring/v1/save-result.schema.json +77 -0
  9. package/contracts/authoring/v1/table-list.schema.json +48 -0
  10. package/contracts/authoring/v1/table-snapshot.schema.json +497 -0
  11. package/contracts/authoring/v2/table-snapshot.schema.json +950 -0
  12. package/contracts/cameras/review/v1/README.md +39 -0
  13. package/contracts/cameras/review/v1/capture-request.schema.json +92 -0
  14. package/contracts/cameras/review/v1/capture-response.schema.json +158 -0
  15. package/contracts/cameras/review/v1/fixtures/capture-failure.json +13 -0
  16. package/contracts/cameras/review/v1/fixtures/capture-legacy.json +17 -0
  17. package/contracts/cameras/review/v1/fixtures/capture-projected.json +33 -0
  18. package/contracts/cameras/review/v1/fixtures/capture-request-valid.json +21 -0
  19. package/contracts/cameras/review/v1/fixtures/capture-unprojectable.json +22 -0
  20. package/contracts/cameras/review/v1/fixtures/invalid-capture-request-bad-fov.json +21 -0
  21. package/contracts/cameras/review/v1/fixtures/invalid-capture-response-projected-without-margins.json +27 -0
  22. package/contracts/cameras/review/v1/fixtures/invalid-selection-unknown-code.json +11 -0
  23. package/contracts/cameras/review/v1/fixtures/selection-selected.json +15 -0
  24. package/contracts/cameras/review/v1/fixtures/selection-subject-not-found.json +11 -0
  25. package/contracts/cameras/review/v1/selection-response.schema.json +103 -0
  26. package/contracts/cameras/v1/README.md +33 -0
  27. package/contracts/editor-session/v1/README.md +11 -0
  28. package/contracts/editor-session/v1/command-response.schema.json +44 -0
  29. package/contracts/editor-session/v1/fixtures/command-accepted.json +6 -0
  30. package/contracts/editor-session/v1/fixtures/command-already-satisfied.json +6 -0
  31. package/contracts/editor-session/v1/fixtures/command-rejected.json +9 -0
  32. package/contracts/editor-session/v1/fixtures/state-paused.json +4 -0
  33. package/contracts/editor-session/v1/fixtures/state-running.json +4 -0
  34. package/contracts/editor-session/v1/fixtures/state-starting.json +4 -0
  35. package/contracts/editor-session/v1/fixtures/state-stopped.json +4 -0
  36. package/contracts/editor-session/v1/fixtures/state-stopping.json +4 -0
  37. package/contracts/editor-session/v1/state-response.schema.json +64 -0
  38. package/contracts/observatory/v1/README.md +78 -0
  39. package/contracts/observatory/v1/fixtures/bad-magic-then-valid.bin +0 -0
  40. package/contracts/observatory/v1/fixtures/fragmented-concat.bin +0 -0
  41. package/contracts/observatory/v1/fixtures/heartbeat.bin +0 -0
  42. package/contracts/observatory/v1/fixtures/mismatched-payload-length.bin +0 -0
  43. package/contracts/observatory/v1/fixtures/oversized-record-count.bin +0 -0
  44. package/contracts/observatory/v1/fixtures/reset.bin +0 -0
  45. package/contracts/observatory/v1/fixtures/truncated.bin +0 -0
  46. package/contracts/observatory/v1/fixtures/two-records.bin +0 -0
  47. package/contracts/observatory/v1/fixtures/unsupported-version.bin +0 -0
  48. package/dist/authoring-review.d.ts +679 -0
  49. package/dist/authoring-review.d.ts.map +1 -0
  50. package/dist/authoring-review.js +90 -0
  51. package/dist/authoring-review.js.map +1 -0
  52. package/dist/authoring.d.ts +889 -0
  53. package/dist/authoring.d.ts.map +1 -0
  54. package/dist/authoring.js +350 -0
  55. package/dist/authoring.js.map +1 -0
  56. package/dist/cameras.d.ts +184 -0
  57. package/dist/cameras.d.ts.map +1 -0
  58. package/dist/cameras.js +72 -0
  59. package/dist/cameras.js.map +1 -0
  60. package/dist/companion.d.ts +33 -0
  61. package/dist/companion.d.ts.map +1 -0
  62. package/dist/companion.js +18 -0
  63. package/dist/companion.js.map +1 -0
  64. package/dist/editor-play-session.d.ts +278 -0
  65. package/dist/editor-play-session.d.ts.map +1 -0
  66. package/dist/editor-play-session.js +56 -0
  67. package/dist/editor-play-session.js.map +1 -0
  68. package/dist/index.d.ts +146 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +106 -0
  71. package/dist/index.js.map +1 -0
  72. package/package.json +45 -0
@@ -0,0 +1,1165 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$defs": {
4
+ "AuthoringApplyResult": {
5
+ "type": "object",
6
+ "required": ["contract", "errors", "operationId", "snapshots", "status"],
7
+ "properties": {
8
+ "contract": {
9
+ "type": "object",
10
+ "required": ["name", "version"],
11
+ "properties": {
12
+ "name": {
13
+ "type": "string",
14
+ "enum": ["unreal-authoring-apply"]
15
+ },
16
+ "version": {
17
+ "type": "object",
18
+ "required": ["major", "minor"],
19
+ "properties": {
20
+ "major": {
21
+ "type": "number",
22
+ "enum": [1]
23
+ },
24
+ "minor": {
25
+ "$ref": "#/$defs/NonNegativeInt"
26
+ }
27
+ },
28
+ "additionalProperties": false
29
+ }
30
+ },
31
+ "additionalProperties": false
32
+ },
33
+ "errors": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "required": ["code", "message", "retrySafe"],
38
+ "properties": {
39
+ "code": {
40
+ "type": "string"
41
+ },
42
+ "commandId": {
43
+ "type": "string"
44
+ },
45
+ "message": {
46
+ "type": "string"
47
+ },
48
+ "objectPath": {
49
+ "type": "string"
50
+ },
51
+ "retrySafe": {
52
+ "type": "boolean"
53
+ }
54
+ },
55
+ "additionalProperties": false
56
+ }
57
+ },
58
+ "operationId": {
59
+ "type": "string"
60
+ },
61
+ "snapshots": {
62
+ "type": "array",
63
+ "items": {
64
+ "$ref": "#/$defs/AuthoringTableSnapshot"
65
+ }
66
+ },
67
+ "status": {
68
+ "type": "string",
69
+ "enum": ["committed", "rolled_back", "rejected"]
70
+ }
71
+ },
72
+ "additionalProperties": false
73
+ },
74
+ "NonNegativeInt": {
75
+ "type": "integer",
76
+ "description": "an integer",
77
+ "title": "int",
78
+ "minimum": 0
79
+ },
80
+ "AuthoringTableSnapshot": {
81
+ "anyOf": [
82
+ {
83
+ "$ref": "#/$defs/AuthoringTableSnapshotV1"
84
+ },
85
+ {
86
+ "$ref": "#/$defs/AuthoringTableSnapshotV2"
87
+ }
88
+ ]
89
+ },
90
+ "AuthoringTableSnapshotV1": {
91
+ "type": "object",
92
+ "required": ["contract", "authority", "completeness", "table", "diagnostics"],
93
+ "properties": {
94
+ "contract": {
95
+ "type": "object",
96
+ "required": ["name", "version"],
97
+ "properties": {
98
+ "name": {
99
+ "type": "string",
100
+ "enum": ["unreal-authoring"]
101
+ },
102
+ "version": {
103
+ "type": "object",
104
+ "required": ["major", "minor"],
105
+ "properties": {
106
+ "major": {
107
+ "type": "number",
108
+ "enum": [1]
109
+ },
110
+ "minor": {
111
+ "$ref": "#/$defs/NonNegativeInt"
112
+ }
113
+ },
114
+ "additionalProperties": false
115
+ }
116
+ },
117
+ "additionalProperties": false
118
+ },
119
+ "authority": {
120
+ "anyOf": [
121
+ {
122
+ "type": "object",
123
+ "required": ["kind", "packageName"],
124
+ "properties": {
125
+ "kind": {
126
+ "type": "string",
127
+ "enum": ["project_files"]
128
+ },
129
+ "packageName": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "additionalProperties": false
134
+ },
135
+ {
136
+ "type": "object",
137
+ "required": ["kind", "producerId", "sessionId"],
138
+ "properties": {
139
+ "kind": {
140
+ "type": "string",
141
+ "enum": ["live_editor"]
142
+ },
143
+ "producerId": {
144
+ "type": "string"
145
+ },
146
+ "sessionId": {
147
+ "type": "string"
148
+ }
149
+ },
150
+ "additionalProperties": false
151
+ }
152
+ ]
153
+ },
154
+ "completeness": {
155
+ "type": "string",
156
+ "enum": ["complete", "partial"]
157
+ },
158
+ "table": {
159
+ "type": "object",
160
+ "required": ["kind", "objectPath", "rowStruct", "parentTables", "rows"],
161
+ "properties": {
162
+ "kind": {
163
+ "type": "string",
164
+ "enum": ["data_table", "composite_data_table"]
165
+ },
166
+ "objectPath": {
167
+ "type": "string"
168
+ },
169
+ "rowStruct": {
170
+ "type": "string"
171
+ },
172
+ "parentTables": {
173
+ "type": "array",
174
+ "items": {
175
+ "type": "string"
176
+ }
177
+ },
178
+ "rows": {
179
+ "type": "array",
180
+ "items": {
181
+ "type": "object",
182
+ "required": ["id", "name", "fields"],
183
+ "properties": {
184
+ "id": {
185
+ "type": "string"
186
+ },
187
+ "name": {
188
+ "type": "string"
189
+ },
190
+ "fields": {
191
+ "type": "array",
192
+ "items": {
193
+ "$ref": "#/$defs/AuthoringFieldValue"
194
+ }
195
+ }
196
+ },
197
+ "additionalProperties": false
198
+ }
199
+ }
200
+ },
201
+ "additionalProperties": false
202
+ },
203
+ "diagnostics": {
204
+ "type": "array",
205
+ "items": {
206
+ "type": "object",
207
+ "required": ["code", "message"],
208
+ "properties": {
209
+ "code": {
210
+ "type": "string"
211
+ },
212
+ "message": {
213
+ "type": "string"
214
+ },
215
+ "path": {
216
+ "type": "string"
217
+ }
218
+ },
219
+ "additionalProperties": false
220
+ }
221
+ }
222
+ },
223
+ "additionalProperties": false
224
+ },
225
+ "AuthoringFieldValue": {
226
+ "type": "object",
227
+ "required": ["name", "typeName", "value"],
228
+ "properties": {
229
+ "name": {
230
+ "type": "string"
231
+ },
232
+ "typeName": {
233
+ "type": "string"
234
+ },
235
+ "value": {
236
+ "$ref": "#/$defs/AuthoringValue"
237
+ }
238
+ },
239
+ "additionalProperties": false
240
+ },
241
+ "AuthoringValue": {
242
+ "anyOf": [
243
+ {
244
+ "type": "object",
245
+ "properties": {
246
+ "kind": {
247
+ "type": "string",
248
+ "enum": ["bool"]
249
+ },
250
+ "value": {
251
+ "type": "boolean"
252
+ }
253
+ },
254
+ "required": ["kind", "value"],
255
+ "additionalProperties": false
256
+ },
257
+ {
258
+ "type": "object",
259
+ "properties": {
260
+ "kind": {
261
+ "type": "string",
262
+ "enum": ["int"]
263
+ },
264
+ "value": {
265
+ "type": "string"
266
+ }
267
+ },
268
+ "required": ["kind", "value"],
269
+ "additionalProperties": false
270
+ },
271
+ {
272
+ "type": "object",
273
+ "properties": {
274
+ "kind": {
275
+ "type": "string",
276
+ "enum": ["uint"]
277
+ },
278
+ "value": {
279
+ "type": "string"
280
+ }
281
+ },
282
+ "required": ["kind", "value"],
283
+ "additionalProperties": false
284
+ },
285
+ {
286
+ "type": "object",
287
+ "properties": {
288
+ "kind": {
289
+ "type": "string",
290
+ "enum": ["float"]
291
+ },
292
+ "value": {
293
+ "anyOf": [
294
+ {
295
+ "type": "number"
296
+ },
297
+ {
298
+ "type": "string",
299
+ "enum": ["nan", "infinity", "-infinity"]
300
+ }
301
+ ]
302
+ }
303
+ },
304
+ "required": ["kind", "value"],
305
+ "additionalProperties": false
306
+ },
307
+ {
308
+ "type": "object",
309
+ "properties": {
310
+ "kind": {
311
+ "type": "string",
312
+ "enum": ["double"]
313
+ },
314
+ "value": {
315
+ "anyOf": [
316
+ {
317
+ "type": "number"
318
+ },
319
+ {
320
+ "type": "string",
321
+ "enum": ["nan", "infinity", "-infinity"]
322
+ }
323
+ ]
324
+ }
325
+ },
326
+ "required": ["kind", "value"],
327
+ "additionalProperties": false
328
+ },
329
+ {
330
+ "type": "object",
331
+ "properties": {
332
+ "kind": {
333
+ "type": "string",
334
+ "enum": ["name"]
335
+ },
336
+ "value": {
337
+ "type": "string"
338
+ }
339
+ },
340
+ "required": ["kind", "value"],
341
+ "additionalProperties": false
342
+ },
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "kind": {
347
+ "type": "string",
348
+ "enum": ["enum"]
349
+ },
350
+ "value": {
351
+ "type": "string"
352
+ }
353
+ },
354
+ "required": ["kind", "value"],
355
+ "additionalProperties": false
356
+ },
357
+ {
358
+ "type": "object",
359
+ "properties": {
360
+ "kind": {
361
+ "type": "string",
362
+ "enum": ["string"]
363
+ },
364
+ "value": {
365
+ "type": "string"
366
+ }
367
+ },
368
+ "required": ["kind", "value"],
369
+ "additionalProperties": false
370
+ },
371
+ {
372
+ "type": "object",
373
+ "properties": {
374
+ "kind": {
375
+ "type": "string",
376
+ "enum": ["text"]
377
+ },
378
+ "value": {
379
+ "type": "string"
380
+ }
381
+ },
382
+ "required": ["kind", "value"],
383
+ "additionalProperties": false
384
+ },
385
+ {
386
+ "type": "object",
387
+ "properties": {
388
+ "kind": {
389
+ "type": "string",
390
+ "enum": ["guid"]
391
+ },
392
+ "value": {
393
+ "type": "string"
394
+ }
395
+ },
396
+ "required": ["kind", "value"],
397
+ "additionalProperties": false
398
+ },
399
+ {
400
+ "type": "object",
401
+ "properties": {
402
+ "kind": {
403
+ "type": "string",
404
+ "enum": ["soft_object_path"]
405
+ },
406
+ "value": {
407
+ "type": "string"
408
+ }
409
+ },
410
+ "required": ["kind", "value"],
411
+ "additionalProperties": false
412
+ },
413
+ {
414
+ "type": "object",
415
+ "properties": {
416
+ "kind": {
417
+ "type": "string",
418
+ "enum": ["object_ref"]
419
+ },
420
+ "value": {
421
+ "anyOf": [
422
+ {
423
+ "type": "string"
424
+ },
425
+ {
426
+ "type": "null"
427
+ }
428
+ ]
429
+ }
430
+ },
431
+ "required": ["kind", "value"],
432
+ "additionalProperties": false
433
+ },
434
+ {
435
+ "type": "object",
436
+ "properties": {
437
+ "kind": {
438
+ "type": "string",
439
+ "enum": ["row_reference"]
440
+ },
441
+ "rowName": {
442
+ "type": "string"
443
+ },
444
+ "tableObjectPath": {
445
+ "anyOf": [
446
+ {
447
+ "type": "string"
448
+ },
449
+ {
450
+ "type": "null"
451
+ }
452
+ ]
453
+ }
454
+ },
455
+ "required": ["kind", "rowName", "tableObjectPath"],
456
+ "additionalProperties": false
457
+ },
458
+ {
459
+ "type": "object",
460
+ "properties": {
461
+ "kind": {
462
+ "type": "string",
463
+ "enum": ["vector"]
464
+ },
465
+ "x": {
466
+ "type": "number"
467
+ },
468
+ "y": {
469
+ "type": "number"
470
+ },
471
+ "z": {
472
+ "type": "number"
473
+ }
474
+ },
475
+ "required": ["kind", "x", "y", "z"],
476
+ "additionalProperties": false
477
+ },
478
+ {
479
+ "type": "object",
480
+ "properties": {
481
+ "kind": {
482
+ "type": "string",
483
+ "enum": ["array"]
484
+ },
485
+ "values": {
486
+ "type": "array",
487
+ "items": {
488
+ "$ref": "#/$defs/AuthoringValue"
489
+ }
490
+ }
491
+ },
492
+ "required": ["kind", "values"],
493
+ "additionalProperties": false
494
+ },
495
+ {
496
+ "type": "object",
497
+ "properties": {
498
+ "kind": {
499
+ "type": "string",
500
+ "enum": ["set"]
501
+ },
502
+ "values": {
503
+ "type": "array",
504
+ "items": {
505
+ "$ref": "#/$defs/AuthoringValue"
506
+ }
507
+ }
508
+ },
509
+ "required": ["kind", "values"],
510
+ "additionalProperties": false
511
+ },
512
+ {
513
+ "type": "object",
514
+ "properties": {
515
+ "kind": {
516
+ "type": "string",
517
+ "enum": ["map"]
518
+ },
519
+ "entries": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "object",
523
+ "properties": {
524
+ "key": {
525
+ "$ref": "#/$defs/AuthoringValue"
526
+ },
527
+ "value": {
528
+ "$ref": "#/$defs/AuthoringValue"
529
+ }
530
+ },
531
+ "required": ["key", "value"],
532
+ "additionalProperties": false
533
+ }
534
+ }
535
+ },
536
+ "required": ["kind", "entries"],
537
+ "additionalProperties": false
538
+ },
539
+ {
540
+ "type": "object",
541
+ "properties": {
542
+ "kind": {
543
+ "type": "string",
544
+ "enum": ["struct"]
545
+ },
546
+ "fields": {
547
+ "type": "array",
548
+ "items": {
549
+ "$ref": "#/$defs/AuthoringFieldValue"
550
+ }
551
+ }
552
+ },
553
+ "required": ["kind", "fields"],
554
+ "additionalProperties": false
555
+ },
556
+ {
557
+ "type": "object",
558
+ "properties": {
559
+ "byteSize": {
560
+ "$ref": "#/$defs/NonNegativeInt"
561
+ },
562
+ "kind": {
563
+ "type": "string",
564
+ "enum": ["unsupported"]
565
+ },
566
+ "reason": {
567
+ "type": "string"
568
+ }
569
+ },
570
+ "required": ["byteSize", "kind", "reason"],
571
+ "additionalProperties": false
572
+ }
573
+ ]
574
+ },
575
+ "AuthoringTableSnapshotV2": {
576
+ "type": "object",
577
+ "required": [
578
+ "contract",
579
+ "authority",
580
+ "completeness",
581
+ "diagnostics",
582
+ "fingerprint",
583
+ "producer",
584
+ "table"
585
+ ],
586
+ "properties": {
587
+ "contract": {
588
+ "type": "object",
589
+ "required": ["name", "version"],
590
+ "properties": {
591
+ "name": {
592
+ "type": "string",
593
+ "enum": ["unreal-authoring"]
594
+ },
595
+ "version": {
596
+ "type": "object",
597
+ "required": ["major", "minor"],
598
+ "properties": {
599
+ "major": {
600
+ "type": "number",
601
+ "enum": [2]
602
+ },
603
+ "minor": {
604
+ "$ref": "#/$defs/NonNegativeInt"
605
+ }
606
+ },
607
+ "additionalProperties": false
608
+ }
609
+ },
610
+ "additionalProperties": false
611
+ },
612
+ "authority": {
613
+ "anyOf": [
614
+ {
615
+ "type": "object",
616
+ "required": ["kind", "packageName"],
617
+ "properties": {
618
+ "kind": {
619
+ "type": "string",
620
+ "enum": ["project_files"]
621
+ },
622
+ "packageName": {
623
+ "type": "string"
624
+ }
625
+ },
626
+ "additionalProperties": false
627
+ },
628
+ {
629
+ "type": "object",
630
+ "required": ["kind", "producerId", "sessionId"],
631
+ "properties": {
632
+ "kind": {
633
+ "type": "string",
634
+ "enum": ["live_editor"]
635
+ },
636
+ "producerId": {
637
+ "type": "string"
638
+ },
639
+ "sessionId": {
640
+ "type": "string"
641
+ }
642
+ },
643
+ "additionalProperties": false
644
+ }
645
+ ]
646
+ },
647
+ "completeness": {
648
+ "type": "string",
649
+ "enum": ["complete", "partial"]
650
+ },
651
+ "diagnostics": {
652
+ "type": "array",
653
+ "items": {
654
+ "type": "object",
655
+ "required": ["code", "message"],
656
+ "properties": {
657
+ "code": {
658
+ "type": "string"
659
+ },
660
+ "message": {
661
+ "type": "string"
662
+ },
663
+ "path": {
664
+ "type": "string"
665
+ }
666
+ },
667
+ "additionalProperties": false
668
+ }
669
+ },
670
+ "fingerprint": {
671
+ "anyOf": [
672
+ {
673
+ "type": "object",
674
+ "required": ["algorithm", "status", "value", "version"],
675
+ "properties": {
676
+ "algorithm": {
677
+ "type": "string",
678
+ "enum": ["sha256"]
679
+ },
680
+ "status": {
681
+ "type": "string",
682
+ "enum": ["available"]
683
+ },
684
+ "value": {
685
+ "type": "string"
686
+ },
687
+ "version": {
688
+ "$ref": "#/$defs/NonNegativeInt"
689
+ }
690
+ },
691
+ "additionalProperties": false
692
+ },
693
+ {
694
+ "type": "object",
695
+ "required": ["reason", "status"],
696
+ "properties": {
697
+ "reason": {
698
+ "type": "string"
699
+ },
700
+ "status": {
701
+ "type": "string",
702
+ "enum": ["unavailable"]
703
+ }
704
+ },
705
+ "additionalProperties": false
706
+ }
707
+ ]
708
+ },
709
+ "producer": {
710
+ "type": "object",
711
+ "required": ["name", "version"],
712
+ "properties": {
713
+ "name": {
714
+ "type": "string"
715
+ },
716
+ "version": {
717
+ "type": "string"
718
+ }
719
+ },
720
+ "additionalProperties": false
721
+ },
722
+ "table": {
723
+ "type": "object",
724
+ "required": [
725
+ "kind",
726
+ "objectPath",
727
+ "rowStruct",
728
+ "parentTables",
729
+ "rows",
730
+ "packageName",
731
+ "schema"
732
+ ],
733
+ "properties": {
734
+ "kind": {
735
+ "type": "string",
736
+ "enum": ["data_table", "composite_data_table"]
737
+ },
738
+ "objectPath": {
739
+ "type": "string"
740
+ },
741
+ "rowStruct": {
742
+ "type": "string"
743
+ },
744
+ "parentTables": {
745
+ "type": "array",
746
+ "items": {
747
+ "type": "string"
748
+ }
749
+ },
750
+ "rows": {
751
+ "type": "array",
752
+ "items": {
753
+ "type": "object",
754
+ "required": ["id", "name", "fields"],
755
+ "properties": {
756
+ "id": {
757
+ "type": "string"
758
+ },
759
+ "name": {
760
+ "type": "string"
761
+ },
762
+ "fields": {
763
+ "type": "array",
764
+ "items": {
765
+ "$ref": "#/$defs/AuthoringFieldValue"
766
+ }
767
+ }
768
+ },
769
+ "additionalProperties": false
770
+ }
771
+ },
772
+ "packageName": {
773
+ "type": "string"
774
+ },
775
+ "schema": {
776
+ "anyOf": [
777
+ {
778
+ "type": "object",
779
+ "required": ["fields", "source", "status"],
780
+ "properties": {
781
+ "fields": {
782
+ "type": "array",
783
+ "items": {
784
+ "$ref": "#/$defs/AuthoringFieldDescriptor"
785
+ }
786
+ },
787
+ "source": {
788
+ "type": "string",
789
+ "enum": ["saved_package", "live_reflection"]
790
+ },
791
+ "status": {
792
+ "type": "string",
793
+ "enum": ["available"]
794
+ }
795
+ },
796
+ "additionalProperties": false
797
+ },
798
+ {
799
+ "type": "object",
800
+ "required": ["reason", "status"],
801
+ "properties": {
802
+ "reason": {
803
+ "type": "string"
804
+ },
805
+ "status": {
806
+ "type": "string",
807
+ "enum": ["unavailable"]
808
+ }
809
+ },
810
+ "additionalProperties": false
811
+ }
812
+ ]
813
+ }
814
+ },
815
+ "additionalProperties": false
816
+ }
817
+ },
818
+ "additionalProperties": false
819
+ },
820
+ "AuthoringFieldDescriptor": {
821
+ "type": "object",
822
+ "required": [
823
+ "annotations",
824
+ "defaultValue",
825
+ "editability",
826
+ "id",
827
+ "name",
828
+ "presence",
829
+ "type",
830
+ "typeName"
831
+ ],
832
+ "properties": {
833
+ "annotations": {
834
+ "type": "object",
835
+ "required": ["deprecated", "readOnly"],
836
+ "properties": {
837
+ "clampMax": {
838
+ "type": "string"
839
+ },
840
+ "clampMin": {
841
+ "type": "string"
842
+ },
843
+ "deprecated": {
844
+ "type": "boolean"
845
+ },
846
+ "description": {
847
+ "type": "string"
848
+ },
849
+ "displayName": {
850
+ "type": "string"
851
+ },
852
+ "readOnly": {
853
+ "type": "boolean"
854
+ },
855
+ "rowReference": {
856
+ "anyOf": [
857
+ {
858
+ "type": "object",
859
+ "required": ["status", "tableObjectPath"],
860
+ "properties": {
861
+ "status": {
862
+ "type": "string",
863
+ "enum": ["known"]
864
+ },
865
+ "tableObjectPath": {
866
+ "type": "string"
867
+ }
868
+ },
869
+ "additionalProperties": false
870
+ },
871
+ {
872
+ "type": "object",
873
+ "required": ["status"],
874
+ "properties": {
875
+ "status": {
876
+ "type": "string",
877
+ "enum": ["unknown"]
878
+ }
879
+ },
880
+ "additionalProperties": false
881
+ }
882
+ ]
883
+ },
884
+ "step": {
885
+ "type": "string"
886
+ },
887
+ "unit": {
888
+ "type": "string"
889
+ }
890
+ },
891
+ "additionalProperties": false
892
+ },
893
+ "defaultValue": {
894
+ "anyOf": [
895
+ {
896
+ "type": "object",
897
+ "required": ["status", "value"],
898
+ "properties": {
899
+ "status": {
900
+ "type": "string",
901
+ "enum": ["known"]
902
+ },
903
+ "value": {
904
+ "$ref": "#/$defs/AuthoringValue"
905
+ }
906
+ },
907
+ "additionalProperties": false
908
+ },
909
+ {
910
+ "type": "object",
911
+ "required": ["status"],
912
+ "properties": {
913
+ "status": {
914
+ "type": "string",
915
+ "enum": ["unknown"]
916
+ }
917
+ },
918
+ "additionalProperties": false
919
+ }
920
+ ]
921
+ },
922
+ "editability": {
923
+ "anyOf": [
924
+ {
925
+ "type": "object",
926
+ "required": ["kind"],
927
+ "properties": {
928
+ "kind": {
929
+ "type": "string",
930
+ "enum": ["editable"]
931
+ }
932
+ },
933
+ "additionalProperties": false
934
+ },
935
+ {
936
+ "type": "object",
937
+ "required": ["kind", "reason"],
938
+ "properties": {
939
+ "kind": {
940
+ "type": "string",
941
+ "enum": ["read_only"]
942
+ },
943
+ "reason": {
944
+ "type": "string"
945
+ }
946
+ },
947
+ "additionalProperties": false
948
+ }
949
+ ]
950
+ },
951
+ "id": {
952
+ "type": "string"
953
+ },
954
+ "name": {
955
+ "type": "string"
956
+ },
957
+ "presence": {
958
+ "type": "string",
959
+ "enum": ["required", "optional", "unknown"]
960
+ },
961
+ "type": {
962
+ "$ref": "#/$defs/AuthoringTypeDescriptor"
963
+ },
964
+ "typeName": {
965
+ "type": "string"
966
+ }
967
+ },
968
+ "additionalProperties": false
969
+ },
970
+ "AuthoringTypeDescriptor": {
971
+ "anyOf": [
972
+ {
973
+ "type": "object",
974
+ "properties": {
975
+ "kind": {
976
+ "type": "string",
977
+ "enum": ["scalar"]
978
+ },
979
+ "valueKind": {
980
+ "type": "string",
981
+ "enum": [
982
+ "bool",
983
+ "int",
984
+ "uint",
985
+ "float",
986
+ "double",
987
+ "name",
988
+ "string",
989
+ "text",
990
+ "guid"
991
+ ]
992
+ }
993
+ },
994
+ "required": ["kind", "valueKind"],
995
+ "additionalProperties": false
996
+ },
997
+ {
998
+ "type": "object",
999
+ "properties": {
1000
+ "enumPath": {
1001
+ "type": "string"
1002
+ },
1003
+ "kind": {
1004
+ "type": "string",
1005
+ "enum": ["enum"]
1006
+ },
1007
+ "options": {
1008
+ "type": "array",
1009
+ "items": {
1010
+ "type": "object",
1011
+ "properties": {
1012
+ "displayName": {
1013
+ "type": "string"
1014
+ },
1015
+ "name": {
1016
+ "type": "string"
1017
+ }
1018
+ },
1019
+ "required": ["name"],
1020
+ "additionalProperties": false
1021
+ }
1022
+ }
1023
+ },
1024
+ "required": ["kind", "options"],
1025
+ "additionalProperties": false
1026
+ },
1027
+ {
1028
+ "type": "object",
1029
+ "properties": {
1030
+ "kind": {
1031
+ "type": "string",
1032
+ "enum": ["reference"]
1033
+ },
1034
+ "target": {
1035
+ "anyOf": [
1036
+ {
1037
+ "type": "object",
1038
+ "properties": {
1039
+ "classPath": {
1040
+ "type": "string"
1041
+ },
1042
+ "status": {
1043
+ "type": "string",
1044
+ "enum": ["known"]
1045
+ }
1046
+ },
1047
+ "required": ["classPath", "status"],
1048
+ "additionalProperties": false
1049
+ },
1050
+ {
1051
+ "type": "object",
1052
+ "properties": {
1053
+ "status": {
1054
+ "type": "string",
1055
+ "enum": ["unknown"]
1056
+ }
1057
+ },
1058
+ "required": ["status"],
1059
+ "additionalProperties": false
1060
+ }
1061
+ ]
1062
+ },
1063
+ "valueKind": {
1064
+ "type": "string",
1065
+ "enum": ["object_ref", "soft_object_path"]
1066
+ }
1067
+ },
1068
+ "required": ["kind", "target", "valueKind"],
1069
+ "additionalProperties": false
1070
+ },
1071
+ {
1072
+ "type": "object",
1073
+ "properties": {
1074
+ "kind": {
1075
+ "type": "string",
1076
+ "enum": ["row_reference"]
1077
+ }
1078
+ },
1079
+ "required": ["kind"],
1080
+ "additionalProperties": false
1081
+ },
1082
+ {
1083
+ "type": "object",
1084
+ "properties": {
1085
+ "kind": {
1086
+ "type": "string",
1087
+ "enum": ["vector"]
1088
+ }
1089
+ },
1090
+ "required": ["kind"],
1091
+ "additionalProperties": false
1092
+ },
1093
+ {
1094
+ "type": "object",
1095
+ "properties": {
1096
+ "element": {
1097
+ "$ref": "#/$defs/AuthoringTypeDescriptor"
1098
+ },
1099
+ "kind": {
1100
+ "type": "string",
1101
+ "enum": ["array", "set"]
1102
+ }
1103
+ },
1104
+ "required": ["element", "kind"],
1105
+ "additionalProperties": false
1106
+ },
1107
+ {
1108
+ "type": "object",
1109
+ "properties": {
1110
+ "key": {
1111
+ "$ref": "#/$defs/AuthoringTypeDescriptor"
1112
+ },
1113
+ "kind": {
1114
+ "type": "string",
1115
+ "enum": ["map"]
1116
+ },
1117
+ "value": {
1118
+ "$ref": "#/$defs/AuthoringTypeDescriptor"
1119
+ }
1120
+ },
1121
+ "required": ["key", "kind", "value"],
1122
+ "additionalProperties": false
1123
+ },
1124
+ {
1125
+ "type": "object",
1126
+ "properties": {
1127
+ "fields": {
1128
+ "type": "array",
1129
+ "items": {
1130
+ "$ref": "#/$defs/AuthoringFieldDescriptor"
1131
+ }
1132
+ },
1133
+ "kind": {
1134
+ "type": "string",
1135
+ "enum": ["struct"]
1136
+ },
1137
+ "structPath": {
1138
+ "type": "string"
1139
+ }
1140
+ },
1141
+ "required": ["fields", "kind"],
1142
+ "additionalProperties": false
1143
+ },
1144
+ {
1145
+ "type": "object",
1146
+ "properties": {
1147
+ "kind": {
1148
+ "type": "string",
1149
+ "enum": ["unsupported"]
1150
+ },
1151
+ "reason": {
1152
+ "type": "string"
1153
+ },
1154
+ "typeName": {
1155
+ "type": "string"
1156
+ }
1157
+ },
1158
+ "required": ["kind", "reason", "typeName"],
1159
+ "additionalProperties": false
1160
+ }
1161
+ ]
1162
+ }
1163
+ },
1164
+ "$ref": "#/$defs/AuthoringApplyResult"
1165
+ }