@hyprune/schema 0.5.1 → 0.5.2

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 (38) hide show
  1. package/package.json +2 -2
  2. package/v0/common.schema.json +85 -0
  3. package/v0/extension.schema.json +121 -0
  4. package/v0/ipc.schema.json +1725 -0
  5. package/v0/screen-type.schema.json +115 -0
  6. package/v0/world.schema.json +363 -0
  7. package/v0.10/ipc.schema.json +8811 -0
  8. package/v0.11/ipc.schema.json +8863 -0
  9. package/v0.12/ipc.schema.json +9541 -0
  10. package/v0.13/ipc.schema.json +10032 -0
  11. package/v0.14/ipc.schema.json +10127 -0
  12. package/v0.15/ipc.schema.json +10534 -0
  13. package/v0.16/ipc.schema.json +10550 -0
  14. package/v0.17/ipc.schema.json +10703 -0
  15. package/v0.18/ipc.schema.json +10801 -0
  16. package/v0.19/ipc.schema.json +11587 -0
  17. package/v0.2/common.schema.json +86 -0
  18. package/v0.2/ipc.schema.json +3570 -0
  19. package/v0.2/world.schema.json +363 -0
  20. package/v0.3/common.schema.json +477 -0
  21. package/v0.3/ipc.schema.json +4044 -0
  22. package/v0.3/world.schema.json +390 -0
  23. package/v0.4/common.schema.json +477 -0
  24. package/v0.4/ipc.schema.json +5561 -0
  25. package/v0.4/world.schema.json +496 -0
  26. package/v0.5/common.schema.json +477 -0
  27. package/v0.5/ipc.schema.json +5781 -0
  28. package/v0.5/world.schema.json +790 -0
  29. package/v0.6/common.schema.json +478 -0
  30. package/v0.6/input.schema.json +519 -0
  31. package/v0.6/ipc.schema.json +7375 -0
  32. package/v0.6/world.schema.json +1062 -0
  33. package/v0.7/common.schema.json +478 -0
  34. package/v0.7/ipc.schema.json +7905 -0
  35. package/v0.7/world.schema.json +1062 -0
  36. package/v0.8/ipc.schema.json +7945 -0
  37. package/v0.9/input.schema.json +518 -0
  38. package/v0.9/ipc.schema.json +8613 -0
@@ -0,0 +1,1725 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0/ipc.schema.json",
4
+ "title": "Hyprune v0 ipc",
5
+ "oneOf": [
6
+ {
7
+ "$ref": "#/$defs/request"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/response"
11
+ },
12
+ {
13
+ "$ref": "#/$defs/notification"
14
+ },
15
+ {
16
+ "$ref": "#/$defs/error"
17
+ }
18
+ ],
19
+ "$defs": {
20
+ "state": {
21
+ "type": "object",
22
+ "properties": {
23
+ "runtime": {
24
+ "type": "object",
25
+ "properties": {
26
+ "active": {
27
+ "type": "boolean"
28
+ },
29
+ "outputs": {
30
+ "type": "array",
31
+ "items": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 128
35
+ },
36
+ "minItems": 0,
37
+ "uniqueItems": true
38
+ }
39
+ },
40
+ "required": [
41
+ "active",
42
+ "outputs"
43
+ ],
44
+ "additionalProperties": false
45
+ },
46
+ "world": {
47
+ "anyOf": [
48
+ {
49
+ "type": "null"
50
+ },
51
+ {
52
+ "type": "object",
53
+ "properties": {
54
+ "id": {
55
+ "$ref": "common.schema.json#/$defs/id"
56
+ },
57
+ "spawnId": {
58
+ "$ref": "common.schema.json#/$defs/slug"
59
+ }
60
+ },
61
+ "required": [
62
+ "id",
63
+ "spawnId"
64
+ ],
65
+ "additionalProperties": false
66
+ }
67
+ ]
68
+ },
69
+ "surfaces": {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "object",
73
+ "properties": {
74
+ "id": {
75
+ "type": "string",
76
+ "minLength": 1,
77
+ "maxLength": 128
78
+ },
79
+ "kind": {
80
+ "enum": [
81
+ "window",
82
+ "workspace",
83
+ "layer",
84
+ "web",
85
+ "custom"
86
+ ]
87
+ },
88
+ "title": {
89
+ "type": "string",
90
+ "minLength": 0,
91
+ "maxLength": 512
92
+ },
93
+ "logicalSize": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "number",
97
+ "exclusiveMinimum": 0
98
+ },
99
+ "minItems": 2,
100
+ "maxItems": 2
101
+ },
102
+ "focused": {
103
+ "type": "boolean"
104
+ }
105
+ },
106
+ "required": [
107
+ "id",
108
+ "kind",
109
+ "title",
110
+ "logicalSize",
111
+ "focused"
112
+ ],
113
+ "additionalProperties": false
114
+ },
115
+ "minItems": 0
116
+ },
117
+ "movement": {
118
+ "type": "object",
119
+ "properties": {
120
+ "modeId": {
121
+ "$ref": "common.schema.json#/$defs/id"
122
+ },
123
+ "position": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "number"
127
+ },
128
+ "minItems": 3,
129
+ "maxItems": 3
130
+ },
131
+ "orientation": {
132
+ "type": "array",
133
+ "items": {
134
+ "type": "number"
135
+ },
136
+ "minItems": 4,
137
+ "maxItems": 4
138
+ }
139
+ },
140
+ "required": [
141
+ "modeId",
142
+ "position",
143
+ "orientation"
144
+ ],
145
+ "additionalProperties": false
146
+ },
147
+ "shell": {
148
+ "type": "object",
149
+ "properties": {
150
+ "leases": {
151
+ "type": "array",
152
+ "items": {
153
+ "type": "object",
154
+ "properties": {
155
+ "id": {
156
+ "type": "string",
157
+ "minLength": 1,
158
+ "maxLength": 128
159
+ },
160
+ "outputs": {
161
+ "type": "array",
162
+ "items": {
163
+ "type": "string",
164
+ "minLength": 1,
165
+ "maxLength": 128
166
+ },
167
+ "minItems": 1,
168
+ "uniqueItems": true
169
+ },
170
+ "overlays": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "object",
174
+ "properties": {
175
+ "outputId": {
176
+ "type": "string",
177
+ "minLength": 1,
178
+ "maxLength": 128
179
+ },
180
+ "visible": {
181
+ "type": "boolean"
182
+ },
183
+ "exclusiveInput": {
184
+ "type": "boolean"
185
+ }
186
+ },
187
+ "required": [
188
+ "outputId",
189
+ "visible",
190
+ "exclusiveInput"
191
+ ],
192
+ "additionalProperties": false
193
+ },
194
+ "minItems": 0
195
+ }
196
+ },
197
+ "required": [
198
+ "id",
199
+ "outputs",
200
+ "overlays"
201
+ ],
202
+ "additionalProperties": false
203
+ },
204
+ "minItems": 0
205
+ }
206
+ },
207
+ "required": [
208
+ "leases"
209
+ ],
210
+ "additionalProperties": false
211
+ }
212
+ },
213
+ "required": [
214
+ "runtime",
215
+ "world",
216
+ "surfaces",
217
+ "movement",
218
+ "shell"
219
+ ],
220
+ "additionalProperties": false
221
+ },
222
+ "snapshot": {
223
+ "type": "object",
224
+ "properties": {
225
+ "sessionId": {
226
+ "type": "string",
227
+ "minLength": 1,
228
+ "maxLength": 128
229
+ },
230
+ "revision": {
231
+ "$ref": "common.schema.json#/$defs/revision"
232
+ },
233
+ "state": {
234
+ "$ref": "#/$defs/state"
235
+ }
236
+ },
237
+ "required": [
238
+ "sessionId",
239
+ "revision",
240
+ "state"
241
+ ],
242
+ "additionalProperties": false
243
+ },
244
+ "session.hello.params": {
245
+ "type": "object",
246
+ "properties": {
247
+ "protocols": {
248
+ "type": "array",
249
+ "items": {
250
+ "type": "string",
251
+ "minLength": 1,
252
+ "maxLength": 256
253
+ },
254
+ "minItems": 1,
255
+ "uniqueItems": true
256
+ },
257
+ "client": {
258
+ "type": "object",
259
+ "properties": {
260
+ "id": {
261
+ "$ref": "common.schema.json#/$defs/id"
262
+ },
263
+ "name": {
264
+ "type": "string",
265
+ "minLength": 1,
266
+ "maxLength": 256
267
+ }
268
+ },
269
+ "required": [
270
+ "id",
271
+ "name"
272
+ ],
273
+ "additionalProperties": false
274
+ },
275
+ "capabilities": {
276
+ "type": "array",
277
+ "items": {
278
+ "$ref": "common.schema.json#/$defs/capability"
279
+ },
280
+ "minItems": 0,
281
+ "uniqueItems": true
282
+ },
283
+ "token": {
284
+ "type": "string",
285
+ "minLength": 64,
286
+ "maxLength": 64,
287
+ "pattern": "^[a-f0-9]{64}$"
288
+ }
289
+ },
290
+ "required": [
291
+ "protocols",
292
+ "client",
293
+ "capabilities"
294
+ ],
295
+ "additionalProperties": false
296
+ },
297
+ "session.hello.result": {
298
+ "type": "object",
299
+ "properties": {
300
+ "protocol": {
301
+ "const": "0.1"
302
+ },
303
+ "sessionId": {
304
+ "type": "string",
305
+ "minLength": 1,
306
+ "maxLength": 128
307
+ },
308
+ "capabilities": {
309
+ "type": "array",
310
+ "items": {
311
+ "$ref": "common.schema.json#/$defs/capability"
312
+ },
313
+ "minItems": 0,
314
+ "uniqueItems": true
315
+ },
316
+ "methods": {
317
+ "type": "array",
318
+ "items": {
319
+ "enum": [
320
+ "session.hello",
321
+ "session.ping",
322
+ "state.subscribe",
323
+ "state.snapshot",
324
+ "state.unsubscribe",
325
+ "world.load",
326
+ "surface.focus",
327
+ "movement.set",
328
+ "shell.claim",
329
+ "shell.release",
330
+ "shell.overlay",
331
+ "runtime.exit"
332
+ ]
333
+ },
334
+ "minItems": 0,
335
+ "uniqueItems": true
336
+ },
337
+ "events": {
338
+ "type": "array",
339
+ "items": {
340
+ "enum": [
341
+ "state.delta",
342
+ "runtime.notice",
343
+ "session.revoked"
344
+ ]
345
+ },
346
+ "minItems": 0,
347
+ "uniqueItems": true
348
+ }
349
+ },
350
+ "required": [
351
+ "protocol",
352
+ "sessionId",
353
+ "capabilities",
354
+ "methods",
355
+ "events"
356
+ ],
357
+ "additionalProperties": false
358
+ },
359
+ "session.hello.request": {
360
+ "type": "object",
361
+ "properties": {
362
+ "jsonrpc": {
363
+ "const": "2.0"
364
+ },
365
+ "id": {
366
+ "type": "string",
367
+ "minLength": 1,
368
+ "maxLength": 128
369
+ },
370
+ "method": {
371
+ "const": "session.hello"
372
+ },
373
+ "params": {
374
+ "$ref": "#/$defs/session.hello.params"
375
+ }
376
+ },
377
+ "required": [
378
+ "jsonrpc",
379
+ "id",
380
+ "method",
381
+ "params"
382
+ ],
383
+ "additionalProperties": false
384
+ },
385
+ "session.hello.response": {
386
+ "type": "object",
387
+ "properties": {
388
+ "jsonrpc": {
389
+ "const": "2.0"
390
+ },
391
+ "id": {
392
+ "type": "string",
393
+ "minLength": 1,
394
+ "maxLength": 128
395
+ },
396
+ "result": {
397
+ "$ref": "#/$defs/session.hello.result"
398
+ }
399
+ },
400
+ "required": [
401
+ "jsonrpc",
402
+ "id",
403
+ "result"
404
+ ],
405
+ "additionalProperties": false
406
+ },
407
+ "session.ping.params": {
408
+ "type": "object",
409
+ "properties": {},
410
+ "required": [],
411
+ "additionalProperties": false
412
+ },
413
+ "session.ping.result": {
414
+ "type": "object",
415
+ "properties": {
416
+ "monotonicMs": {
417
+ "$ref": "common.schema.json#/$defs/revision"
418
+ }
419
+ },
420
+ "required": [
421
+ "monotonicMs"
422
+ ],
423
+ "additionalProperties": false
424
+ },
425
+ "session.ping.request": {
426
+ "type": "object",
427
+ "properties": {
428
+ "jsonrpc": {
429
+ "const": "2.0"
430
+ },
431
+ "id": {
432
+ "type": "string",
433
+ "minLength": 1,
434
+ "maxLength": 128
435
+ },
436
+ "method": {
437
+ "const": "session.ping"
438
+ },
439
+ "params": {
440
+ "$ref": "#/$defs/session.ping.params"
441
+ }
442
+ },
443
+ "required": [
444
+ "jsonrpc",
445
+ "id",
446
+ "method",
447
+ "params"
448
+ ],
449
+ "additionalProperties": false
450
+ },
451
+ "session.ping.response": {
452
+ "type": "object",
453
+ "properties": {
454
+ "jsonrpc": {
455
+ "const": "2.0"
456
+ },
457
+ "id": {
458
+ "type": "string",
459
+ "minLength": 1,
460
+ "maxLength": 128
461
+ },
462
+ "result": {
463
+ "$ref": "#/$defs/session.ping.result"
464
+ }
465
+ },
466
+ "required": [
467
+ "jsonrpc",
468
+ "id",
469
+ "result"
470
+ ],
471
+ "additionalProperties": false
472
+ },
473
+ "state.subscribe.params": {
474
+ "type": "object",
475
+ "properties": {
476
+ "topics": {
477
+ "const": [
478
+ "state"
479
+ ]
480
+ }
481
+ },
482
+ "required": [
483
+ "topics"
484
+ ],
485
+ "additionalProperties": false
486
+ },
487
+ "state.subscribe.result": {
488
+ "type": "object",
489
+ "properties": {
490
+ "subscriptionId": {
491
+ "type": "string",
492
+ "minLength": 1,
493
+ "maxLength": 128
494
+ },
495
+ "snapshot": {
496
+ "$ref": "#/$defs/snapshot"
497
+ }
498
+ },
499
+ "required": [
500
+ "subscriptionId",
501
+ "snapshot"
502
+ ],
503
+ "additionalProperties": false
504
+ },
505
+ "state.subscribe.request": {
506
+ "type": "object",
507
+ "properties": {
508
+ "jsonrpc": {
509
+ "const": "2.0"
510
+ },
511
+ "id": {
512
+ "type": "string",
513
+ "minLength": 1,
514
+ "maxLength": 128
515
+ },
516
+ "method": {
517
+ "const": "state.subscribe"
518
+ },
519
+ "params": {
520
+ "$ref": "#/$defs/state.subscribe.params"
521
+ }
522
+ },
523
+ "required": [
524
+ "jsonrpc",
525
+ "id",
526
+ "method",
527
+ "params"
528
+ ],
529
+ "additionalProperties": false
530
+ },
531
+ "state.subscribe.response": {
532
+ "type": "object",
533
+ "properties": {
534
+ "jsonrpc": {
535
+ "const": "2.0"
536
+ },
537
+ "id": {
538
+ "type": "string",
539
+ "minLength": 1,
540
+ "maxLength": 128
541
+ },
542
+ "result": {
543
+ "$ref": "#/$defs/state.subscribe.result"
544
+ }
545
+ },
546
+ "required": [
547
+ "jsonrpc",
548
+ "id",
549
+ "result"
550
+ ],
551
+ "additionalProperties": false
552
+ },
553
+ "state.snapshot.params": {
554
+ "type": "object",
555
+ "properties": {
556
+ "subscriptionId": {
557
+ "type": "string",
558
+ "minLength": 1,
559
+ "maxLength": 128
560
+ }
561
+ },
562
+ "required": [
563
+ "subscriptionId"
564
+ ],
565
+ "additionalProperties": false
566
+ },
567
+ "state.snapshot.result": {
568
+ "type": "object",
569
+ "properties": {
570
+ "snapshot": {
571
+ "$ref": "#/$defs/snapshot"
572
+ }
573
+ },
574
+ "required": [
575
+ "snapshot"
576
+ ],
577
+ "additionalProperties": false
578
+ },
579
+ "state.snapshot.request": {
580
+ "type": "object",
581
+ "properties": {
582
+ "jsonrpc": {
583
+ "const": "2.0"
584
+ },
585
+ "id": {
586
+ "type": "string",
587
+ "minLength": 1,
588
+ "maxLength": 128
589
+ },
590
+ "method": {
591
+ "const": "state.snapshot"
592
+ },
593
+ "params": {
594
+ "$ref": "#/$defs/state.snapshot.params"
595
+ }
596
+ },
597
+ "required": [
598
+ "jsonrpc",
599
+ "id",
600
+ "method",
601
+ "params"
602
+ ],
603
+ "additionalProperties": false
604
+ },
605
+ "state.snapshot.response": {
606
+ "type": "object",
607
+ "properties": {
608
+ "jsonrpc": {
609
+ "const": "2.0"
610
+ },
611
+ "id": {
612
+ "type": "string",
613
+ "minLength": 1,
614
+ "maxLength": 128
615
+ },
616
+ "result": {
617
+ "$ref": "#/$defs/state.snapshot.result"
618
+ }
619
+ },
620
+ "required": [
621
+ "jsonrpc",
622
+ "id",
623
+ "result"
624
+ ],
625
+ "additionalProperties": false
626
+ },
627
+ "state.unsubscribe.params": {
628
+ "type": "object",
629
+ "properties": {
630
+ "subscriptionId": {
631
+ "type": "string",
632
+ "minLength": 1,
633
+ "maxLength": 128
634
+ }
635
+ },
636
+ "required": [
637
+ "subscriptionId"
638
+ ],
639
+ "additionalProperties": false
640
+ },
641
+ "state.unsubscribe.result": {
642
+ "type": "object",
643
+ "properties": {
644
+ "ok": {
645
+ "const": true
646
+ }
647
+ },
648
+ "required": [
649
+ "ok"
650
+ ],
651
+ "additionalProperties": false
652
+ },
653
+ "state.unsubscribe.request": {
654
+ "type": "object",
655
+ "properties": {
656
+ "jsonrpc": {
657
+ "const": "2.0"
658
+ },
659
+ "id": {
660
+ "type": "string",
661
+ "minLength": 1,
662
+ "maxLength": 128
663
+ },
664
+ "method": {
665
+ "const": "state.unsubscribe"
666
+ },
667
+ "params": {
668
+ "$ref": "#/$defs/state.unsubscribe.params"
669
+ }
670
+ },
671
+ "required": [
672
+ "jsonrpc",
673
+ "id",
674
+ "method",
675
+ "params"
676
+ ],
677
+ "additionalProperties": false
678
+ },
679
+ "state.unsubscribe.response": {
680
+ "type": "object",
681
+ "properties": {
682
+ "jsonrpc": {
683
+ "const": "2.0"
684
+ },
685
+ "id": {
686
+ "type": "string",
687
+ "minLength": 1,
688
+ "maxLength": 128
689
+ },
690
+ "result": {
691
+ "$ref": "#/$defs/state.unsubscribe.result"
692
+ }
693
+ },
694
+ "required": [
695
+ "jsonrpc",
696
+ "id",
697
+ "result"
698
+ ],
699
+ "additionalProperties": false
700
+ },
701
+ "world.load.params": {
702
+ "type": "object",
703
+ "properties": {
704
+ "worldId": {
705
+ "$ref": "common.schema.json#/$defs/id"
706
+ },
707
+ "spawnId": {
708
+ "$ref": "common.schema.json#/$defs/slug"
709
+ }
710
+ },
711
+ "required": [
712
+ "worldId"
713
+ ],
714
+ "additionalProperties": false
715
+ },
716
+ "world.load.result": {
717
+ "type": "object",
718
+ "properties": {
719
+ "revision": {
720
+ "$ref": "common.schema.json#/$defs/revision"
721
+ }
722
+ },
723
+ "required": [
724
+ "revision"
725
+ ],
726
+ "additionalProperties": false
727
+ },
728
+ "world.load.request": {
729
+ "type": "object",
730
+ "properties": {
731
+ "jsonrpc": {
732
+ "const": "2.0"
733
+ },
734
+ "id": {
735
+ "type": "string",
736
+ "minLength": 1,
737
+ "maxLength": 128
738
+ },
739
+ "method": {
740
+ "const": "world.load"
741
+ },
742
+ "params": {
743
+ "$ref": "#/$defs/world.load.params"
744
+ }
745
+ },
746
+ "required": [
747
+ "jsonrpc",
748
+ "id",
749
+ "method",
750
+ "params"
751
+ ],
752
+ "additionalProperties": false
753
+ },
754
+ "world.load.response": {
755
+ "type": "object",
756
+ "properties": {
757
+ "jsonrpc": {
758
+ "const": "2.0"
759
+ },
760
+ "id": {
761
+ "type": "string",
762
+ "minLength": 1,
763
+ "maxLength": 128
764
+ },
765
+ "result": {
766
+ "$ref": "#/$defs/world.load.result"
767
+ }
768
+ },
769
+ "required": [
770
+ "jsonrpc",
771
+ "id",
772
+ "result"
773
+ ],
774
+ "additionalProperties": false
775
+ },
776
+ "surface.focus.params": {
777
+ "type": "object",
778
+ "properties": {
779
+ "surfaceId": {
780
+ "type": "string",
781
+ "minLength": 1,
782
+ "maxLength": 128
783
+ },
784
+ "intent": {
785
+ "enum": [
786
+ "pointer",
787
+ "keyboard"
788
+ ]
789
+ }
790
+ },
791
+ "required": [
792
+ "surfaceId",
793
+ "intent"
794
+ ],
795
+ "additionalProperties": false
796
+ },
797
+ "surface.focus.result": {
798
+ "type": "object",
799
+ "properties": {
800
+ "revision": {
801
+ "$ref": "common.schema.json#/$defs/revision"
802
+ }
803
+ },
804
+ "required": [
805
+ "revision"
806
+ ],
807
+ "additionalProperties": false
808
+ },
809
+ "surface.focus.request": {
810
+ "type": "object",
811
+ "properties": {
812
+ "jsonrpc": {
813
+ "const": "2.0"
814
+ },
815
+ "id": {
816
+ "type": "string",
817
+ "minLength": 1,
818
+ "maxLength": 128
819
+ },
820
+ "method": {
821
+ "const": "surface.focus"
822
+ },
823
+ "params": {
824
+ "$ref": "#/$defs/surface.focus.params"
825
+ }
826
+ },
827
+ "required": [
828
+ "jsonrpc",
829
+ "id",
830
+ "method",
831
+ "params"
832
+ ],
833
+ "additionalProperties": false
834
+ },
835
+ "surface.focus.response": {
836
+ "type": "object",
837
+ "properties": {
838
+ "jsonrpc": {
839
+ "const": "2.0"
840
+ },
841
+ "id": {
842
+ "type": "string",
843
+ "minLength": 1,
844
+ "maxLength": 128
845
+ },
846
+ "result": {
847
+ "$ref": "#/$defs/surface.focus.result"
848
+ }
849
+ },
850
+ "required": [
851
+ "jsonrpc",
852
+ "id",
853
+ "result"
854
+ ],
855
+ "additionalProperties": false
856
+ },
857
+ "movement.set.params": {
858
+ "type": "object",
859
+ "properties": {
860
+ "modeId": {
861
+ "$ref": "common.schema.json#/$defs/id"
862
+ }
863
+ },
864
+ "required": [
865
+ "modeId"
866
+ ],
867
+ "additionalProperties": false
868
+ },
869
+ "movement.set.result": {
870
+ "type": "object",
871
+ "properties": {
872
+ "revision": {
873
+ "$ref": "common.schema.json#/$defs/revision"
874
+ }
875
+ },
876
+ "required": [
877
+ "revision"
878
+ ],
879
+ "additionalProperties": false
880
+ },
881
+ "movement.set.request": {
882
+ "type": "object",
883
+ "properties": {
884
+ "jsonrpc": {
885
+ "const": "2.0"
886
+ },
887
+ "id": {
888
+ "type": "string",
889
+ "minLength": 1,
890
+ "maxLength": 128
891
+ },
892
+ "method": {
893
+ "const": "movement.set"
894
+ },
895
+ "params": {
896
+ "$ref": "#/$defs/movement.set.params"
897
+ }
898
+ },
899
+ "required": [
900
+ "jsonrpc",
901
+ "id",
902
+ "method",
903
+ "params"
904
+ ],
905
+ "additionalProperties": false
906
+ },
907
+ "movement.set.response": {
908
+ "type": "object",
909
+ "properties": {
910
+ "jsonrpc": {
911
+ "const": "2.0"
912
+ },
913
+ "id": {
914
+ "type": "string",
915
+ "minLength": 1,
916
+ "maxLength": 128
917
+ },
918
+ "result": {
919
+ "$ref": "#/$defs/movement.set.result"
920
+ }
921
+ },
922
+ "required": [
923
+ "jsonrpc",
924
+ "id",
925
+ "result"
926
+ ],
927
+ "additionalProperties": false
928
+ },
929
+ "shell.claim.params": {
930
+ "type": "object",
931
+ "properties": {
932
+ "outputs": {
933
+ "type": "array",
934
+ "items": {
935
+ "type": "string",
936
+ "minLength": 1,
937
+ "maxLength": 128
938
+ },
939
+ "minItems": 1,
940
+ "uniqueItems": true
941
+ }
942
+ },
943
+ "required": [
944
+ "outputs"
945
+ ],
946
+ "additionalProperties": false
947
+ },
948
+ "shell.claim.result": {
949
+ "type": "object",
950
+ "properties": {
951
+ "leaseId": {
952
+ "type": "string",
953
+ "minLength": 1,
954
+ "maxLength": 128
955
+ },
956
+ "revision": {
957
+ "$ref": "common.schema.json#/$defs/revision"
958
+ }
959
+ },
960
+ "required": [
961
+ "leaseId",
962
+ "revision"
963
+ ],
964
+ "additionalProperties": false
965
+ },
966
+ "shell.claim.request": {
967
+ "type": "object",
968
+ "properties": {
969
+ "jsonrpc": {
970
+ "const": "2.0"
971
+ },
972
+ "id": {
973
+ "type": "string",
974
+ "minLength": 1,
975
+ "maxLength": 128
976
+ },
977
+ "method": {
978
+ "const": "shell.claim"
979
+ },
980
+ "params": {
981
+ "$ref": "#/$defs/shell.claim.params"
982
+ }
983
+ },
984
+ "required": [
985
+ "jsonrpc",
986
+ "id",
987
+ "method",
988
+ "params"
989
+ ],
990
+ "additionalProperties": false
991
+ },
992
+ "shell.claim.response": {
993
+ "type": "object",
994
+ "properties": {
995
+ "jsonrpc": {
996
+ "const": "2.0"
997
+ },
998
+ "id": {
999
+ "type": "string",
1000
+ "minLength": 1,
1001
+ "maxLength": 128
1002
+ },
1003
+ "result": {
1004
+ "$ref": "#/$defs/shell.claim.result"
1005
+ }
1006
+ },
1007
+ "required": [
1008
+ "jsonrpc",
1009
+ "id",
1010
+ "result"
1011
+ ],
1012
+ "additionalProperties": false
1013
+ },
1014
+ "shell.release.params": {
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "leaseId": {
1018
+ "type": "string",
1019
+ "minLength": 1,
1020
+ "maxLength": 128
1021
+ }
1022
+ },
1023
+ "required": [
1024
+ "leaseId"
1025
+ ],
1026
+ "additionalProperties": false
1027
+ },
1028
+ "shell.release.result": {
1029
+ "type": "object",
1030
+ "properties": {
1031
+ "revision": {
1032
+ "$ref": "common.schema.json#/$defs/revision"
1033
+ }
1034
+ },
1035
+ "required": [
1036
+ "revision"
1037
+ ],
1038
+ "additionalProperties": false
1039
+ },
1040
+ "shell.release.request": {
1041
+ "type": "object",
1042
+ "properties": {
1043
+ "jsonrpc": {
1044
+ "const": "2.0"
1045
+ },
1046
+ "id": {
1047
+ "type": "string",
1048
+ "minLength": 1,
1049
+ "maxLength": 128
1050
+ },
1051
+ "method": {
1052
+ "const": "shell.release"
1053
+ },
1054
+ "params": {
1055
+ "$ref": "#/$defs/shell.release.params"
1056
+ }
1057
+ },
1058
+ "required": [
1059
+ "jsonrpc",
1060
+ "id",
1061
+ "method",
1062
+ "params"
1063
+ ],
1064
+ "additionalProperties": false
1065
+ },
1066
+ "shell.release.response": {
1067
+ "type": "object",
1068
+ "properties": {
1069
+ "jsonrpc": {
1070
+ "const": "2.0"
1071
+ },
1072
+ "id": {
1073
+ "type": "string",
1074
+ "minLength": 1,
1075
+ "maxLength": 128
1076
+ },
1077
+ "result": {
1078
+ "$ref": "#/$defs/shell.release.result"
1079
+ }
1080
+ },
1081
+ "required": [
1082
+ "jsonrpc",
1083
+ "id",
1084
+ "result"
1085
+ ],
1086
+ "additionalProperties": false
1087
+ },
1088
+ "shell.overlay.params": {
1089
+ "type": "object",
1090
+ "properties": {
1091
+ "leaseId": {
1092
+ "type": "string",
1093
+ "minLength": 1,
1094
+ "maxLength": 128
1095
+ },
1096
+ "outputId": {
1097
+ "type": "string",
1098
+ "minLength": 1,
1099
+ "maxLength": 128
1100
+ },
1101
+ "visible": {
1102
+ "type": "boolean"
1103
+ },
1104
+ "exclusiveInput": {
1105
+ "type": "boolean"
1106
+ }
1107
+ },
1108
+ "required": [
1109
+ "leaseId",
1110
+ "outputId",
1111
+ "visible",
1112
+ "exclusiveInput"
1113
+ ],
1114
+ "additionalProperties": false
1115
+ },
1116
+ "shell.overlay.result": {
1117
+ "type": "object",
1118
+ "properties": {
1119
+ "revision": {
1120
+ "$ref": "common.schema.json#/$defs/revision"
1121
+ }
1122
+ },
1123
+ "required": [
1124
+ "revision"
1125
+ ],
1126
+ "additionalProperties": false
1127
+ },
1128
+ "shell.overlay.request": {
1129
+ "type": "object",
1130
+ "properties": {
1131
+ "jsonrpc": {
1132
+ "const": "2.0"
1133
+ },
1134
+ "id": {
1135
+ "type": "string",
1136
+ "minLength": 1,
1137
+ "maxLength": 128
1138
+ },
1139
+ "method": {
1140
+ "const": "shell.overlay"
1141
+ },
1142
+ "params": {
1143
+ "$ref": "#/$defs/shell.overlay.params"
1144
+ }
1145
+ },
1146
+ "required": [
1147
+ "jsonrpc",
1148
+ "id",
1149
+ "method",
1150
+ "params"
1151
+ ],
1152
+ "additionalProperties": false
1153
+ },
1154
+ "shell.overlay.response": {
1155
+ "type": "object",
1156
+ "properties": {
1157
+ "jsonrpc": {
1158
+ "const": "2.0"
1159
+ },
1160
+ "id": {
1161
+ "type": "string",
1162
+ "minLength": 1,
1163
+ "maxLength": 128
1164
+ },
1165
+ "result": {
1166
+ "$ref": "#/$defs/shell.overlay.result"
1167
+ }
1168
+ },
1169
+ "required": [
1170
+ "jsonrpc",
1171
+ "id",
1172
+ "result"
1173
+ ],
1174
+ "additionalProperties": false
1175
+ },
1176
+ "runtime.exit.params": {
1177
+ "type": "object",
1178
+ "properties": {},
1179
+ "required": [],
1180
+ "additionalProperties": false
1181
+ },
1182
+ "runtime.exit.result": {
1183
+ "type": "object",
1184
+ "properties": {
1185
+ "revision": {
1186
+ "$ref": "common.schema.json#/$defs/revision"
1187
+ }
1188
+ },
1189
+ "required": [
1190
+ "revision"
1191
+ ],
1192
+ "additionalProperties": false
1193
+ },
1194
+ "runtime.exit.request": {
1195
+ "type": "object",
1196
+ "properties": {
1197
+ "jsonrpc": {
1198
+ "const": "2.0"
1199
+ },
1200
+ "id": {
1201
+ "type": "string",
1202
+ "minLength": 1,
1203
+ "maxLength": 128
1204
+ },
1205
+ "method": {
1206
+ "const": "runtime.exit"
1207
+ },
1208
+ "params": {
1209
+ "$ref": "#/$defs/runtime.exit.params"
1210
+ }
1211
+ },
1212
+ "required": [
1213
+ "jsonrpc",
1214
+ "id",
1215
+ "method",
1216
+ "params"
1217
+ ],
1218
+ "additionalProperties": false
1219
+ },
1220
+ "runtime.exit.response": {
1221
+ "type": "object",
1222
+ "properties": {
1223
+ "jsonrpc": {
1224
+ "const": "2.0"
1225
+ },
1226
+ "id": {
1227
+ "type": "string",
1228
+ "minLength": 1,
1229
+ "maxLength": 128
1230
+ },
1231
+ "result": {
1232
+ "$ref": "#/$defs/runtime.exit.result"
1233
+ }
1234
+ },
1235
+ "required": [
1236
+ "jsonrpc",
1237
+ "id",
1238
+ "result"
1239
+ ],
1240
+ "additionalProperties": false
1241
+ },
1242
+ "state.delta.notification": {
1243
+ "type": "object",
1244
+ "properties": {
1245
+ "jsonrpc": {
1246
+ "const": "2.0"
1247
+ },
1248
+ "method": {
1249
+ "const": "state.delta"
1250
+ },
1251
+ "params": {
1252
+ "type": "object",
1253
+ "properties": {
1254
+ "subscriptionId": {
1255
+ "type": "string",
1256
+ "minLength": 1,
1257
+ "maxLength": 128
1258
+ },
1259
+ "sessionId": {
1260
+ "type": "string",
1261
+ "minLength": 1,
1262
+ "maxLength": 128
1263
+ },
1264
+ "baseRevision": {
1265
+ "$ref": "common.schema.json#/$defs/revision"
1266
+ },
1267
+ "revision": {
1268
+ "$ref": "common.schema.json#/$defs/revision"
1269
+ },
1270
+ "changes": {
1271
+ "type": "object",
1272
+ "properties": {
1273
+ "runtime": {
1274
+ "type": "object",
1275
+ "properties": {
1276
+ "active": {
1277
+ "type": "boolean"
1278
+ },
1279
+ "outputs": {
1280
+ "type": "array",
1281
+ "items": {
1282
+ "type": "string",
1283
+ "minLength": 1,
1284
+ "maxLength": 128
1285
+ },
1286
+ "minItems": 0,
1287
+ "uniqueItems": true
1288
+ }
1289
+ },
1290
+ "required": [
1291
+ "active",
1292
+ "outputs"
1293
+ ],
1294
+ "additionalProperties": false
1295
+ },
1296
+ "world": {
1297
+ "anyOf": [
1298
+ {
1299
+ "type": "null"
1300
+ },
1301
+ {
1302
+ "type": "object",
1303
+ "properties": {
1304
+ "id": {
1305
+ "$ref": "common.schema.json#/$defs/id"
1306
+ },
1307
+ "spawnId": {
1308
+ "$ref": "common.schema.json#/$defs/slug"
1309
+ }
1310
+ },
1311
+ "required": [
1312
+ "id",
1313
+ "spawnId"
1314
+ ],
1315
+ "additionalProperties": false
1316
+ }
1317
+ ]
1318
+ },
1319
+ "surfaces": {
1320
+ "type": "array",
1321
+ "items": {
1322
+ "type": "object",
1323
+ "properties": {
1324
+ "id": {
1325
+ "type": "string",
1326
+ "minLength": 1,
1327
+ "maxLength": 128
1328
+ },
1329
+ "kind": {
1330
+ "enum": [
1331
+ "window",
1332
+ "workspace",
1333
+ "layer",
1334
+ "web",
1335
+ "custom"
1336
+ ]
1337
+ },
1338
+ "title": {
1339
+ "type": "string",
1340
+ "minLength": 0,
1341
+ "maxLength": 512
1342
+ },
1343
+ "logicalSize": {
1344
+ "type": "array",
1345
+ "items": {
1346
+ "type": "number",
1347
+ "exclusiveMinimum": 0
1348
+ },
1349
+ "minItems": 2,
1350
+ "maxItems": 2
1351
+ },
1352
+ "focused": {
1353
+ "type": "boolean"
1354
+ }
1355
+ },
1356
+ "required": [
1357
+ "id",
1358
+ "kind",
1359
+ "title",
1360
+ "logicalSize",
1361
+ "focused"
1362
+ ],
1363
+ "additionalProperties": false
1364
+ },
1365
+ "minItems": 0
1366
+ },
1367
+ "movement": {
1368
+ "type": "object",
1369
+ "properties": {
1370
+ "modeId": {
1371
+ "$ref": "common.schema.json#/$defs/id"
1372
+ },
1373
+ "position": {
1374
+ "type": "array",
1375
+ "items": {
1376
+ "type": "number"
1377
+ },
1378
+ "minItems": 3,
1379
+ "maxItems": 3
1380
+ },
1381
+ "orientation": {
1382
+ "type": "array",
1383
+ "items": {
1384
+ "type": "number"
1385
+ },
1386
+ "minItems": 4,
1387
+ "maxItems": 4
1388
+ }
1389
+ },
1390
+ "required": [
1391
+ "modeId",
1392
+ "position",
1393
+ "orientation"
1394
+ ],
1395
+ "additionalProperties": false
1396
+ },
1397
+ "shell": {
1398
+ "type": "object",
1399
+ "properties": {
1400
+ "leases": {
1401
+ "type": "array",
1402
+ "items": {
1403
+ "type": "object",
1404
+ "properties": {
1405
+ "id": {
1406
+ "type": "string",
1407
+ "minLength": 1,
1408
+ "maxLength": 128
1409
+ },
1410
+ "outputs": {
1411
+ "type": "array",
1412
+ "items": {
1413
+ "type": "string",
1414
+ "minLength": 1,
1415
+ "maxLength": 128
1416
+ },
1417
+ "minItems": 1,
1418
+ "uniqueItems": true
1419
+ },
1420
+ "overlays": {
1421
+ "type": "array",
1422
+ "items": {
1423
+ "type": "object",
1424
+ "properties": {
1425
+ "outputId": {
1426
+ "type": "string",
1427
+ "minLength": 1,
1428
+ "maxLength": 128
1429
+ },
1430
+ "visible": {
1431
+ "type": "boolean"
1432
+ },
1433
+ "exclusiveInput": {
1434
+ "type": "boolean"
1435
+ }
1436
+ },
1437
+ "required": [
1438
+ "outputId",
1439
+ "visible",
1440
+ "exclusiveInput"
1441
+ ],
1442
+ "additionalProperties": false
1443
+ },
1444
+ "minItems": 0
1445
+ }
1446
+ },
1447
+ "required": [
1448
+ "id",
1449
+ "outputs",
1450
+ "overlays"
1451
+ ],
1452
+ "additionalProperties": false
1453
+ },
1454
+ "minItems": 0
1455
+ }
1456
+ },
1457
+ "required": [
1458
+ "leases"
1459
+ ],
1460
+ "additionalProperties": false
1461
+ }
1462
+ },
1463
+ "required": [],
1464
+ "additionalProperties": false,
1465
+ "minProperties": 1
1466
+ }
1467
+ },
1468
+ "required": [
1469
+ "subscriptionId",
1470
+ "sessionId",
1471
+ "baseRevision",
1472
+ "revision",
1473
+ "changes"
1474
+ ],
1475
+ "additionalProperties": false
1476
+ }
1477
+ },
1478
+ "required": [
1479
+ "jsonrpc",
1480
+ "method",
1481
+ "params"
1482
+ ],
1483
+ "additionalProperties": false
1484
+ },
1485
+ "runtime.notice.notification": {
1486
+ "type": "object",
1487
+ "properties": {
1488
+ "jsonrpc": {
1489
+ "const": "2.0"
1490
+ },
1491
+ "method": {
1492
+ "const": "runtime.notice"
1493
+ },
1494
+ "params": {
1495
+ "type": "object",
1496
+ "properties": {
1497
+ "level": {
1498
+ "enum": [
1499
+ "info",
1500
+ "warning",
1501
+ "error"
1502
+ ]
1503
+ },
1504
+ "code": {
1505
+ "type": "string",
1506
+ "minLength": 1,
1507
+ "maxLength": 256
1508
+ },
1509
+ "message": {
1510
+ "type": "string",
1511
+ "minLength": 1,
1512
+ "maxLength": 4096
1513
+ }
1514
+ },
1515
+ "required": [
1516
+ "level",
1517
+ "code",
1518
+ "message"
1519
+ ],
1520
+ "additionalProperties": false
1521
+ }
1522
+ },
1523
+ "required": [
1524
+ "jsonrpc",
1525
+ "method",
1526
+ "params"
1527
+ ],
1528
+ "additionalProperties": false
1529
+ },
1530
+ "session.revoked.notification": {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "jsonrpc": {
1534
+ "const": "2.0"
1535
+ },
1536
+ "method": {
1537
+ "const": "session.revoked"
1538
+ },
1539
+ "params": {
1540
+ "type": "object",
1541
+ "properties": {
1542
+ "reason": {
1543
+ "type": "string",
1544
+ "minLength": 1,
1545
+ "maxLength": 4096
1546
+ }
1547
+ },
1548
+ "required": [
1549
+ "reason"
1550
+ ],
1551
+ "additionalProperties": false
1552
+ }
1553
+ },
1554
+ "required": [
1555
+ "jsonrpc",
1556
+ "method",
1557
+ "params"
1558
+ ],
1559
+ "additionalProperties": false
1560
+ },
1561
+ "error": {
1562
+ "type": "object",
1563
+ "properties": {
1564
+ "jsonrpc": {
1565
+ "const": "2.0"
1566
+ },
1567
+ "id": {
1568
+ "anyOf": [
1569
+ {
1570
+ "type": "string",
1571
+ "minLength": 1,
1572
+ "maxLength": 128
1573
+ },
1574
+ {
1575
+ "type": "null"
1576
+ }
1577
+ ]
1578
+ },
1579
+ "error": {
1580
+ "type": "object",
1581
+ "properties": {
1582
+ "code": {
1583
+ "enum": [
1584
+ -32700,
1585
+ -32600,
1586
+ -32601,
1587
+ -32602,
1588
+ -32603,
1589
+ -32008,
1590
+ -32007,
1591
+ -32006,
1592
+ -32005,
1593
+ -32004,
1594
+ -32003,
1595
+ -32002,
1596
+ -32001
1597
+ ]
1598
+ },
1599
+ "message": {
1600
+ "type": "string",
1601
+ "minLength": 1,
1602
+ "maxLength": 4096
1603
+ },
1604
+ "data": {
1605
+ "type": "object",
1606
+ "properties": {
1607
+ "retryable": {
1608
+ "type": "boolean"
1609
+ }
1610
+ },
1611
+ "required": [
1612
+ "retryable"
1613
+ ],
1614
+ "additionalProperties": false
1615
+ }
1616
+ },
1617
+ "required": [
1618
+ "code",
1619
+ "message"
1620
+ ],
1621
+ "additionalProperties": false
1622
+ }
1623
+ },
1624
+ "required": [
1625
+ "jsonrpc",
1626
+ "id",
1627
+ "error"
1628
+ ],
1629
+ "additionalProperties": false
1630
+ },
1631
+ "request": {
1632
+ "oneOf": [
1633
+ {
1634
+ "$ref": "#/$defs/session.hello.request"
1635
+ },
1636
+ {
1637
+ "$ref": "#/$defs/session.ping.request"
1638
+ },
1639
+ {
1640
+ "$ref": "#/$defs/state.subscribe.request"
1641
+ },
1642
+ {
1643
+ "$ref": "#/$defs/state.snapshot.request"
1644
+ },
1645
+ {
1646
+ "$ref": "#/$defs/state.unsubscribe.request"
1647
+ },
1648
+ {
1649
+ "$ref": "#/$defs/world.load.request"
1650
+ },
1651
+ {
1652
+ "$ref": "#/$defs/surface.focus.request"
1653
+ },
1654
+ {
1655
+ "$ref": "#/$defs/movement.set.request"
1656
+ },
1657
+ {
1658
+ "$ref": "#/$defs/shell.claim.request"
1659
+ },
1660
+ {
1661
+ "$ref": "#/$defs/shell.release.request"
1662
+ },
1663
+ {
1664
+ "$ref": "#/$defs/shell.overlay.request"
1665
+ },
1666
+ {
1667
+ "$ref": "#/$defs/runtime.exit.request"
1668
+ }
1669
+ ]
1670
+ },
1671
+ "response": {
1672
+ "anyOf": [
1673
+ {
1674
+ "$ref": "#/$defs/session.hello.response"
1675
+ },
1676
+ {
1677
+ "$ref": "#/$defs/session.ping.response"
1678
+ },
1679
+ {
1680
+ "$ref": "#/$defs/state.subscribe.response"
1681
+ },
1682
+ {
1683
+ "$ref": "#/$defs/state.snapshot.response"
1684
+ },
1685
+ {
1686
+ "$ref": "#/$defs/state.unsubscribe.response"
1687
+ },
1688
+ {
1689
+ "$ref": "#/$defs/world.load.response"
1690
+ },
1691
+ {
1692
+ "$ref": "#/$defs/surface.focus.response"
1693
+ },
1694
+ {
1695
+ "$ref": "#/$defs/movement.set.response"
1696
+ },
1697
+ {
1698
+ "$ref": "#/$defs/shell.release.response"
1699
+ },
1700
+ {
1701
+ "$ref": "#/$defs/shell.overlay.response"
1702
+ },
1703
+ {
1704
+ "$ref": "#/$defs/runtime.exit.response"
1705
+ },
1706
+ {
1707
+ "$ref": "#/$defs/shell.claim.response"
1708
+ }
1709
+ ]
1710
+ },
1711
+ "notification": {
1712
+ "oneOf": [
1713
+ {
1714
+ "$ref": "#/$defs/state.delta.notification"
1715
+ },
1716
+ {
1717
+ "$ref": "#/$defs/runtime.notice.notification"
1718
+ },
1719
+ {
1720
+ "$ref": "#/$defs/session.revoked.notification"
1721
+ }
1722
+ ]
1723
+ }
1724
+ }
1725
+ }