@stagewise/mcp-extension-push-notifications 0.1.0

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 (44) hide show
  1. package/README.md +122 -0
  2. package/dist/capabilities.d.ts +18 -0
  3. package/dist/capabilities.d.ts.map +1 -0
  4. package/dist/capabilities.js +47 -0
  5. package/dist/capabilities.js.map +1 -0
  6. package/dist/client/index.d.ts +2 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/index.js +2 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/register-push-notifications-client.d.ts +25 -0
  11. package/dist/client/register-push-notifications-client.d.ts.map +1 -0
  12. package/dist/client/register-push-notifications-client.js +116 -0
  13. package/dist/client/register-push-notifications-client.js.map +1 -0
  14. package/dist/constants.d.ts +10 -0
  15. package/dist/constants.d.ts.map +1 -0
  16. package/dist/constants.js +10 -0
  17. package/dist/constants.js.map +1 -0
  18. package/dist/generated/schema.d.ts +516 -0
  19. package/dist/generated/schema.d.ts.map +1 -0
  20. package/dist/generated/schema.js +133 -0
  21. package/dist/generated/schema.js.map +1 -0
  22. package/dist/index.d.ts +7 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +6 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/server/http-subscriptions.d.ts +16 -0
  27. package/dist/server/http-subscriptions.d.ts.map +1 -0
  28. package/dist/server/http-subscriptions.js +235 -0
  29. package/dist/server/http-subscriptions.js.map +1 -0
  30. package/dist/server/index.d.ts +3 -0
  31. package/dist/server/index.d.ts.map +1 -0
  32. package/dist/server/index.js +3 -0
  33. package/dist/server/index.js.map +1 -0
  34. package/dist/server/register-push-notifications-server.d.ts +32 -0
  35. package/dist/server/register-push-notifications-server.d.ts.map +1 -0
  36. package/dist/server/register-push-notifications-server.js +55 -0
  37. package/dist/server/register-push-notifications-server.js.map +1 -0
  38. package/dist/spec.types.d.ts +154 -0
  39. package/dist/spec.types.d.ts.map +1 -0
  40. package/dist/spec.types.js +2 -0
  41. package/dist/spec.types.js.map +1 -0
  42. package/package.json +55 -0
  43. package/schema.json +2466 -0
  44. package/specification/draft/events.md +206 -0
package/schema.json ADDED
@@ -0,0 +1,2466 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://stagewise.io/mcp/extensions/push-notifications/schema.json",
4
+ "title": "MCP Push Notifications Extension",
5
+ "description": "Protocol messages for the io.stagewise/push-notifications MCP extension.",
6
+ "$defs": {
7
+ "AcknowledgeEventsParams": {
8
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
9
+ "allOf": [
10
+ {
11
+ "type": "object",
12
+ "propertyNames": {
13
+ "type": "string"
14
+ },
15
+ "additionalProperties": {}
16
+ },
17
+ {
18
+ "type": "object",
19
+ "properties": {
20
+ "eventIds": {
21
+ "minItems": 1,
22
+ "type": "array",
23
+ "items": {
24
+ "type": "string",
25
+ "minLength": 1
26
+ }
27
+ }
28
+ },
29
+ "required": ["eventIds"],
30
+ "additionalProperties": false
31
+ }
32
+ ]
33
+ },
34
+ "AcknowledgeEventsRequest": {
35
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
36
+ "type": "object",
37
+ "properties": {
38
+ "jsonrpc": {
39
+ "type": "string",
40
+ "const": "2.0"
41
+ },
42
+ "id": {
43
+ "anyOf": [
44
+ {
45
+ "type": "string"
46
+ },
47
+ {
48
+ "type": "number"
49
+ }
50
+ ]
51
+ },
52
+ "method": {
53
+ "type": "string",
54
+ "const": "io.stagewise/push-notifications/ack"
55
+ },
56
+ "params": {
57
+ "allOf": [
58
+ {
59
+ "type": "object",
60
+ "propertyNames": {
61
+ "type": "string"
62
+ },
63
+ "additionalProperties": {}
64
+ },
65
+ {
66
+ "type": "object",
67
+ "properties": {
68
+ "eventIds": {
69
+ "minItems": 1,
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ }
75
+ }
76
+ },
77
+ "required": ["eventIds"],
78
+ "additionalProperties": false
79
+ }
80
+ ]
81
+ }
82
+ },
83
+ "required": ["jsonrpc", "id", "method", "params"],
84
+ "additionalProperties": false
85
+ },
86
+ "AcknowledgeEventsResult": {
87
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
88
+ "type": "object",
89
+ "properties": {
90
+ "_meta": {
91
+ "type": "object",
92
+ "propertyNames": {
93
+ "type": "string"
94
+ },
95
+ "additionalProperties": {}
96
+ }
97
+ },
98
+ "additionalProperties": false
99
+ },
100
+ "ExtensionCapabilities": {
101
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
102
+ "allOf": [
103
+ {
104
+ "type": "object",
105
+ "propertyNames": {
106
+ "type": "string"
107
+ },
108
+ "additionalProperties": {}
109
+ },
110
+ {
111
+ "type": "object",
112
+ "properties": {
113
+ "io.stagewise/push-notifications": {
114
+ "type": "object",
115
+ "propertyNames": {
116
+ "type": "string"
117
+ },
118
+ "additionalProperties": {
119
+ "not": {}
120
+ }
121
+ }
122
+ },
123
+ "additionalProperties": false
124
+ }
125
+ ]
126
+ },
127
+ "GetEventsParams": {
128
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
129
+ "allOf": [
130
+ {
131
+ "type": "object",
132
+ "propertyNames": {
133
+ "type": "string"
134
+ },
135
+ "additionalProperties": {}
136
+ },
137
+ {
138
+ "type": "object",
139
+ "properties": {
140
+ "limit": {
141
+ "type": "integer",
142
+ "exclusiveMinimum": 0,
143
+ "maximum": 9007199254740991
144
+ }
145
+ },
146
+ "additionalProperties": false
147
+ }
148
+ ]
149
+ },
150
+ "GetEventsRequest": {
151
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
152
+ "type": "object",
153
+ "properties": {
154
+ "jsonrpc": {
155
+ "type": "string",
156
+ "const": "2.0"
157
+ },
158
+ "id": {
159
+ "anyOf": [
160
+ {
161
+ "type": "string"
162
+ },
163
+ {
164
+ "type": "number"
165
+ }
166
+ ]
167
+ },
168
+ "method": {
169
+ "type": "string",
170
+ "const": "io.stagewise/push-notifications/get"
171
+ },
172
+ "params": {
173
+ "allOf": [
174
+ {
175
+ "type": "object",
176
+ "propertyNames": {
177
+ "type": "string"
178
+ },
179
+ "additionalProperties": {}
180
+ },
181
+ {
182
+ "type": "object",
183
+ "properties": {
184
+ "limit": {
185
+ "type": "integer",
186
+ "exclusiveMinimum": 0,
187
+ "maximum": 9007199254740991
188
+ }
189
+ },
190
+ "additionalProperties": false
191
+ }
192
+ ]
193
+ }
194
+ },
195
+ "required": ["jsonrpc", "id", "method", "params"],
196
+ "additionalProperties": false
197
+ },
198
+ "GetEventsResult": {
199
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
200
+ "allOf": [
201
+ {
202
+ "type": "object",
203
+ "properties": {
204
+ "_meta": {
205
+ "type": "object",
206
+ "propertyNames": {
207
+ "type": "string"
208
+ },
209
+ "additionalProperties": {}
210
+ }
211
+ },
212
+ "additionalProperties": false
213
+ },
214
+ {
215
+ "type": "object",
216
+ "properties": {
217
+ "events": {
218
+ "type": "array",
219
+ "items": {
220
+ "type": "object",
221
+ "properties": {
222
+ "eventId": {
223
+ "type": "string"
224
+ },
225
+ "sourceId": {
226
+ "type": "string"
227
+ },
228
+ "type": {
229
+ "type": "string"
230
+ },
231
+ "createdAt": {
232
+ "type": "string",
233
+ "format": "date-time",
234
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
235
+ },
236
+ "content": {
237
+ "type": "array",
238
+ "items": {
239
+ "anyOf": [
240
+ {
241
+ "type": "object",
242
+ "properties": {
243
+ "type": {
244
+ "type": "string",
245
+ "const": "text"
246
+ },
247
+ "text": {
248
+ "type": "string"
249
+ },
250
+ "annotations": {
251
+ "type": "object",
252
+ "properties": {
253
+ "audience": {
254
+ "type": "array",
255
+ "items": {
256
+ "type": "string",
257
+ "enum": [
258
+ "user",
259
+ "assistant"
260
+ ]
261
+ }
262
+ },
263
+ "priority": {
264
+ "type": "number",
265
+ "minimum": 0,
266
+ "maximum": 1
267
+ },
268
+ "lastModified": {
269
+ "type": "string",
270
+ "format": "date-time",
271
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
272
+ }
273
+ },
274
+ "additionalProperties": false
275
+ },
276
+ "_meta": {
277
+ "type": "object",
278
+ "propertyNames": {
279
+ "type": "string"
280
+ },
281
+ "additionalProperties": {}
282
+ }
283
+ },
284
+ "required": ["type", "text"],
285
+ "additionalProperties": false
286
+ },
287
+ {
288
+ "type": "object",
289
+ "properties": {
290
+ "type": {
291
+ "type": "string",
292
+ "const": "image"
293
+ },
294
+ "data": {
295
+ "type": "string"
296
+ },
297
+ "mimeType": {
298
+ "type": "string"
299
+ },
300
+ "annotations": {
301
+ "type": "object",
302
+ "properties": {
303
+ "audience": {
304
+ "type": "array",
305
+ "items": {
306
+ "type": "string",
307
+ "enum": [
308
+ "user",
309
+ "assistant"
310
+ ]
311
+ }
312
+ },
313
+ "priority": {
314
+ "type": "number",
315
+ "minimum": 0,
316
+ "maximum": 1
317
+ },
318
+ "lastModified": {
319
+ "type": "string",
320
+ "format": "date-time",
321
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
322
+ }
323
+ },
324
+ "additionalProperties": false
325
+ },
326
+ "_meta": {
327
+ "type": "object",
328
+ "propertyNames": {
329
+ "type": "string"
330
+ },
331
+ "additionalProperties": {}
332
+ }
333
+ },
334
+ "required": ["type", "data", "mimeType"],
335
+ "additionalProperties": false
336
+ },
337
+ {
338
+ "type": "object",
339
+ "properties": {
340
+ "type": {
341
+ "type": "string",
342
+ "const": "audio"
343
+ },
344
+ "data": {
345
+ "type": "string"
346
+ },
347
+ "mimeType": {
348
+ "type": "string"
349
+ },
350
+ "annotations": {
351
+ "type": "object",
352
+ "properties": {
353
+ "audience": {
354
+ "type": "array",
355
+ "items": {
356
+ "type": "string",
357
+ "enum": [
358
+ "user",
359
+ "assistant"
360
+ ]
361
+ }
362
+ },
363
+ "priority": {
364
+ "type": "number",
365
+ "minimum": 0,
366
+ "maximum": 1
367
+ },
368
+ "lastModified": {
369
+ "type": "string",
370
+ "format": "date-time",
371
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
372
+ }
373
+ },
374
+ "additionalProperties": false
375
+ },
376
+ "_meta": {
377
+ "type": "object",
378
+ "propertyNames": {
379
+ "type": "string"
380
+ },
381
+ "additionalProperties": {}
382
+ }
383
+ },
384
+ "required": ["type", "data", "mimeType"],
385
+ "additionalProperties": false
386
+ },
387
+ {
388
+ "type": "object",
389
+ "properties": {
390
+ "name": {
391
+ "type": "string"
392
+ },
393
+ "title": {
394
+ "type": "string"
395
+ },
396
+ "icons": {
397
+ "type": "array",
398
+ "items": {
399
+ "type": "object",
400
+ "properties": {
401
+ "src": {
402
+ "type": "string"
403
+ },
404
+ "mimeType": {
405
+ "type": "string"
406
+ },
407
+ "sizes": {
408
+ "type": "array",
409
+ "items": {
410
+ "type": "string"
411
+ }
412
+ },
413
+ "theme": {
414
+ "type": "string",
415
+ "enum": [
416
+ "light",
417
+ "dark"
418
+ ]
419
+ }
420
+ },
421
+ "required": ["src"],
422
+ "additionalProperties": false
423
+ }
424
+ },
425
+ "uri": {
426
+ "type": "string"
427
+ },
428
+ "description": {
429
+ "type": "string"
430
+ },
431
+ "mimeType": {
432
+ "type": "string"
433
+ },
434
+ "size": {
435
+ "type": "number"
436
+ },
437
+ "annotations": {
438
+ "type": "object",
439
+ "properties": {
440
+ "audience": {
441
+ "type": "array",
442
+ "items": {
443
+ "type": "string",
444
+ "enum": [
445
+ "user",
446
+ "assistant"
447
+ ]
448
+ }
449
+ },
450
+ "priority": {
451
+ "type": "number",
452
+ "minimum": 0,
453
+ "maximum": 1
454
+ },
455
+ "lastModified": {
456
+ "type": "string",
457
+ "format": "date-time",
458
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
459
+ }
460
+ },
461
+ "additionalProperties": false
462
+ },
463
+ "_meta": {
464
+ "type": "object",
465
+ "properties": {},
466
+ "additionalProperties": {}
467
+ },
468
+ "type": {
469
+ "type": "string",
470
+ "const": "resource_link"
471
+ }
472
+ },
473
+ "required": ["name", "uri", "type"],
474
+ "additionalProperties": false
475
+ },
476
+ {
477
+ "type": "object",
478
+ "properties": {
479
+ "type": {
480
+ "type": "string",
481
+ "const": "resource"
482
+ },
483
+ "resource": {
484
+ "anyOf": [
485
+ {
486
+ "type": "object",
487
+ "properties": {
488
+ "uri": {
489
+ "type": "string"
490
+ },
491
+ "mimeType": {
492
+ "type": "string"
493
+ },
494
+ "_meta": {
495
+ "type": "object",
496
+ "propertyNames": {
497
+ "type": "string"
498
+ },
499
+ "additionalProperties": {}
500
+ },
501
+ "text": {
502
+ "type": "string"
503
+ }
504
+ },
505
+ "required": ["uri", "text"],
506
+ "additionalProperties": false
507
+ },
508
+ {
509
+ "type": "object",
510
+ "properties": {
511
+ "uri": {
512
+ "type": "string"
513
+ },
514
+ "mimeType": {
515
+ "type": "string"
516
+ },
517
+ "_meta": {
518
+ "type": "object",
519
+ "propertyNames": {
520
+ "type": "string"
521
+ },
522
+ "additionalProperties": {}
523
+ },
524
+ "blob": {
525
+ "type": "string"
526
+ }
527
+ },
528
+ "required": ["uri", "blob"],
529
+ "additionalProperties": false
530
+ }
531
+ ]
532
+ },
533
+ "annotations": {
534
+ "type": "object",
535
+ "properties": {
536
+ "audience": {
537
+ "type": "array",
538
+ "items": {
539
+ "type": "string",
540
+ "enum": [
541
+ "user",
542
+ "assistant"
543
+ ]
544
+ }
545
+ },
546
+ "priority": {
547
+ "type": "number",
548
+ "minimum": 0,
549
+ "maximum": 1
550
+ },
551
+ "lastModified": {
552
+ "type": "string",
553
+ "format": "date-time",
554
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
555
+ }
556
+ },
557
+ "additionalProperties": false
558
+ },
559
+ "_meta": {
560
+ "type": "object",
561
+ "propertyNames": {
562
+ "type": "string"
563
+ },
564
+ "additionalProperties": {}
565
+ }
566
+ },
567
+ "required": ["type", "resource"],
568
+ "additionalProperties": false
569
+ }
570
+ ]
571
+ }
572
+ },
573
+ "data": {
574
+ "type": "object",
575
+ "propertyNames": {
576
+ "type": "string"
577
+ },
578
+ "additionalProperties": {
579
+ "$ref": "#/$defs/__schema0"
580
+ }
581
+ }
582
+ },
583
+ "required": [
584
+ "eventId",
585
+ "sourceId",
586
+ "type",
587
+ "createdAt",
588
+ "content"
589
+ ],
590
+ "additionalProperties": false
591
+ }
592
+ },
593
+ "hasMore": {
594
+ "type": "boolean"
595
+ }
596
+ },
597
+ "required": ["events", "hasMore"],
598
+ "additionalProperties": false
599
+ }
600
+ ],
601
+ "$defs": {
602
+ "__schema0": {
603
+ "anyOf": [
604
+ {
605
+ "anyOf": [
606
+ {
607
+ "anyOf": [
608
+ {
609
+ "type": "string"
610
+ },
611
+ {
612
+ "type": "number"
613
+ },
614
+ {
615
+ "type": "boolean"
616
+ }
617
+ ]
618
+ },
619
+ {
620
+ "type": "null"
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "type": "array",
626
+ "items": {
627
+ "$ref": "#/$defs/__schema0"
628
+ }
629
+ },
630
+ {
631
+ "type": "object",
632
+ "propertyNames": {
633
+ "type": "string"
634
+ },
635
+ "additionalProperties": {
636
+ "$ref": "#/$defs/__schema0"
637
+ }
638
+ }
639
+ ]
640
+ }
641
+ }
642
+ },
643
+ "JSONPrimitive": {
644
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
645
+ "anyOf": [
646
+ {
647
+ "anyOf": [
648
+ {
649
+ "type": "string"
650
+ },
651
+ {
652
+ "type": "number"
653
+ },
654
+ {
655
+ "type": "boolean"
656
+ }
657
+ ]
658
+ },
659
+ {
660
+ "type": "null"
661
+ }
662
+ ]
663
+ },
664
+ "JSONValue": {
665
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
666
+ "anyOf": [
667
+ {
668
+ "anyOf": [
669
+ {
670
+ "anyOf": [
671
+ {
672
+ "type": "string"
673
+ },
674
+ {
675
+ "type": "number"
676
+ },
677
+ {
678
+ "type": "boolean"
679
+ }
680
+ ]
681
+ },
682
+ {
683
+ "type": "null"
684
+ }
685
+ ]
686
+ },
687
+ {
688
+ "type": "array",
689
+ "items": {
690
+ "$ref": "#"
691
+ }
692
+ },
693
+ {
694
+ "type": "object",
695
+ "propertyNames": {
696
+ "type": "string"
697
+ },
698
+ "additionalProperties": {
699
+ "$ref": "#"
700
+ }
701
+ }
702
+ ]
703
+ },
704
+ "MissingRequiredClientCapabilityData": {
705
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
706
+ "type": "object",
707
+ "properties": {
708
+ "requiredCapabilities": {
709
+ "allOf": [
710
+ {
711
+ "type": "object",
712
+ "propertyNames": {
713
+ "type": "string"
714
+ },
715
+ "additionalProperties": {}
716
+ },
717
+ {
718
+ "type": "object",
719
+ "properties": {
720
+ "extensions": {
721
+ "allOf": [
722
+ {
723
+ "type": "object",
724
+ "propertyNames": {
725
+ "type": "string"
726
+ },
727
+ "additionalProperties": {}
728
+ },
729
+ {
730
+ "type": "object",
731
+ "properties": {
732
+ "io.stagewise/push-notifications": {
733
+ "type": "object",
734
+ "propertyNames": {
735
+ "type": "string"
736
+ },
737
+ "additionalProperties": {
738
+ "not": {}
739
+ }
740
+ }
741
+ },
742
+ "additionalProperties": false
743
+ }
744
+ ]
745
+ }
746
+ },
747
+ "additionalProperties": false
748
+ }
749
+ ]
750
+ }
751
+ },
752
+ "required": ["requiredCapabilities"],
753
+ "additionalProperties": false
754
+ },
755
+ "PushNotificationNotificationParams": {
756
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
757
+ "allOf": [
758
+ {
759
+ "type": "object",
760
+ "properties": {
761
+ "_meta": {
762
+ "type": "object",
763
+ "propertyNames": {
764
+ "type": "string"
765
+ },
766
+ "additionalProperties": {}
767
+ }
768
+ },
769
+ "additionalProperties": false
770
+ },
771
+ {
772
+ "type": "object",
773
+ "properties": {
774
+ "event": {
775
+ "type": "object",
776
+ "properties": {
777
+ "eventId": {
778
+ "type": "string"
779
+ },
780
+ "sourceId": {
781
+ "type": "string"
782
+ },
783
+ "type": {
784
+ "type": "string"
785
+ },
786
+ "createdAt": {
787
+ "type": "string",
788
+ "format": "date-time",
789
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
790
+ },
791
+ "content": {
792
+ "type": "array",
793
+ "items": {
794
+ "anyOf": [
795
+ {
796
+ "type": "object",
797
+ "properties": {
798
+ "type": {
799
+ "type": "string",
800
+ "const": "text"
801
+ },
802
+ "text": {
803
+ "type": "string"
804
+ },
805
+ "annotations": {
806
+ "type": "object",
807
+ "properties": {
808
+ "audience": {
809
+ "type": "array",
810
+ "items": {
811
+ "type": "string",
812
+ "enum": [
813
+ "user",
814
+ "assistant"
815
+ ]
816
+ }
817
+ },
818
+ "priority": {
819
+ "type": "number",
820
+ "minimum": 0,
821
+ "maximum": 1
822
+ },
823
+ "lastModified": {
824
+ "type": "string",
825
+ "format": "date-time",
826
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
827
+ }
828
+ },
829
+ "additionalProperties": false
830
+ },
831
+ "_meta": {
832
+ "type": "object",
833
+ "propertyNames": {
834
+ "type": "string"
835
+ },
836
+ "additionalProperties": {}
837
+ }
838
+ },
839
+ "required": ["type", "text"],
840
+ "additionalProperties": false
841
+ },
842
+ {
843
+ "type": "object",
844
+ "properties": {
845
+ "type": {
846
+ "type": "string",
847
+ "const": "image"
848
+ },
849
+ "data": {
850
+ "type": "string"
851
+ },
852
+ "mimeType": {
853
+ "type": "string"
854
+ },
855
+ "annotations": {
856
+ "type": "object",
857
+ "properties": {
858
+ "audience": {
859
+ "type": "array",
860
+ "items": {
861
+ "type": "string",
862
+ "enum": [
863
+ "user",
864
+ "assistant"
865
+ ]
866
+ }
867
+ },
868
+ "priority": {
869
+ "type": "number",
870
+ "minimum": 0,
871
+ "maximum": 1
872
+ },
873
+ "lastModified": {
874
+ "type": "string",
875
+ "format": "date-time",
876
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
877
+ }
878
+ },
879
+ "additionalProperties": false
880
+ },
881
+ "_meta": {
882
+ "type": "object",
883
+ "propertyNames": {
884
+ "type": "string"
885
+ },
886
+ "additionalProperties": {}
887
+ }
888
+ },
889
+ "required": ["type", "data", "mimeType"],
890
+ "additionalProperties": false
891
+ },
892
+ {
893
+ "type": "object",
894
+ "properties": {
895
+ "type": {
896
+ "type": "string",
897
+ "const": "audio"
898
+ },
899
+ "data": {
900
+ "type": "string"
901
+ },
902
+ "mimeType": {
903
+ "type": "string"
904
+ },
905
+ "annotations": {
906
+ "type": "object",
907
+ "properties": {
908
+ "audience": {
909
+ "type": "array",
910
+ "items": {
911
+ "type": "string",
912
+ "enum": [
913
+ "user",
914
+ "assistant"
915
+ ]
916
+ }
917
+ },
918
+ "priority": {
919
+ "type": "number",
920
+ "minimum": 0,
921
+ "maximum": 1
922
+ },
923
+ "lastModified": {
924
+ "type": "string",
925
+ "format": "date-time",
926
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
927
+ }
928
+ },
929
+ "additionalProperties": false
930
+ },
931
+ "_meta": {
932
+ "type": "object",
933
+ "propertyNames": {
934
+ "type": "string"
935
+ },
936
+ "additionalProperties": {}
937
+ }
938
+ },
939
+ "required": ["type", "data", "mimeType"],
940
+ "additionalProperties": false
941
+ },
942
+ {
943
+ "type": "object",
944
+ "properties": {
945
+ "name": {
946
+ "type": "string"
947
+ },
948
+ "title": {
949
+ "type": "string"
950
+ },
951
+ "icons": {
952
+ "type": "array",
953
+ "items": {
954
+ "type": "object",
955
+ "properties": {
956
+ "src": {
957
+ "type": "string"
958
+ },
959
+ "mimeType": {
960
+ "type": "string"
961
+ },
962
+ "sizes": {
963
+ "type": "array",
964
+ "items": {
965
+ "type": "string"
966
+ }
967
+ },
968
+ "theme": {
969
+ "type": "string",
970
+ "enum": [
971
+ "light",
972
+ "dark"
973
+ ]
974
+ }
975
+ },
976
+ "required": ["src"],
977
+ "additionalProperties": false
978
+ }
979
+ },
980
+ "uri": {
981
+ "type": "string"
982
+ },
983
+ "description": {
984
+ "type": "string"
985
+ },
986
+ "mimeType": {
987
+ "type": "string"
988
+ },
989
+ "size": {
990
+ "type": "number"
991
+ },
992
+ "annotations": {
993
+ "type": "object",
994
+ "properties": {
995
+ "audience": {
996
+ "type": "array",
997
+ "items": {
998
+ "type": "string",
999
+ "enum": [
1000
+ "user",
1001
+ "assistant"
1002
+ ]
1003
+ }
1004
+ },
1005
+ "priority": {
1006
+ "type": "number",
1007
+ "minimum": 0,
1008
+ "maximum": 1
1009
+ },
1010
+ "lastModified": {
1011
+ "type": "string",
1012
+ "format": "date-time",
1013
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1014
+ }
1015
+ },
1016
+ "additionalProperties": false
1017
+ },
1018
+ "_meta": {
1019
+ "type": "object",
1020
+ "properties": {},
1021
+ "additionalProperties": {}
1022
+ },
1023
+ "type": {
1024
+ "type": "string",
1025
+ "const": "resource_link"
1026
+ }
1027
+ },
1028
+ "required": ["name", "uri", "type"],
1029
+ "additionalProperties": false
1030
+ },
1031
+ {
1032
+ "type": "object",
1033
+ "properties": {
1034
+ "type": {
1035
+ "type": "string",
1036
+ "const": "resource"
1037
+ },
1038
+ "resource": {
1039
+ "anyOf": [
1040
+ {
1041
+ "type": "object",
1042
+ "properties": {
1043
+ "uri": {
1044
+ "type": "string"
1045
+ },
1046
+ "mimeType": {
1047
+ "type": "string"
1048
+ },
1049
+ "_meta": {
1050
+ "type": "object",
1051
+ "propertyNames": {
1052
+ "type": "string"
1053
+ },
1054
+ "additionalProperties": {}
1055
+ },
1056
+ "text": {
1057
+ "type": "string"
1058
+ }
1059
+ },
1060
+ "required": ["uri", "text"],
1061
+ "additionalProperties": false
1062
+ },
1063
+ {
1064
+ "type": "object",
1065
+ "properties": {
1066
+ "uri": {
1067
+ "type": "string"
1068
+ },
1069
+ "mimeType": {
1070
+ "type": "string"
1071
+ },
1072
+ "_meta": {
1073
+ "type": "object",
1074
+ "propertyNames": {
1075
+ "type": "string"
1076
+ },
1077
+ "additionalProperties": {}
1078
+ },
1079
+ "blob": {
1080
+ "type": "string"
1081
+ }
1082
+ },
1083
+ "required": ["uri", "blob"],
1084
+ "additionalProperties": false
1085
+ }
1086
+ ]
1087
+ },
1088
+ "annotations": {
1089
+ "type": "object",
1090
+ "properties": {
1091
+ "audience": {
1092
+ "type": "array",
1093
+ "items": {
1094
+ "type": "string",
1095
+ "enum": [
1096
+ "user",
1097
+ "assistant"
1098
+ ]
1099
+ }
1100
+ },
1101
+ "priority": {
1102
+ "type": "number",
1103
+ "minimum": 0,
1104
+ "maximum": 1
1105
+ },
1106
+ "lastModified": {
1107
+ "type": "string",
1108
+ "format": "date-time",
1109
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1110
+ }
1111
+ },
1112
+ "additionalProperties": false
1113
+ },
1114
+ "_meta": {
1115
+ "type": "object",
1116
+ "propertyNames": {
1117
+ "type": "string"
1118
+ },
1119
+ "additionalProperties": {}
1120
+ }
1121
+ },
1122
+ "required": ["type", "resource"],
1123
+ "additionalProperties": false
1124
+ }
1125
+ ]
1126
+ }
1127
+ },
1128
+ "data": {
1129
+ "type": "object",
1130
+ "propertyNames": {
1131
+ "type": "string"
1132
+ },
1133
+ "additionalProperties": {
1134
+ "$ref": "#/$defs/__schema0"
1135
+ }
1136
+ }
1137
+ },
1138
+ "required": [
1139
+ "eventId",
1140
+ "sourceId",
1141
+ "type",
1142
+ "createdAt",
1143
+ "content"
1144
+ ],
1145
+ "additionalProperties": false
1146
+ }
1147
+ },
1148
+ "required": ["event"],
1149
+ "additionalProperties": false
1150
+ }
1151
+ ],
1152
+ "$defs": {
1153
+ "__schema0": {
1154
+ "anyOf": [
1155
+ {
1156
+ "anyOf": [
1157
+ {
1158
+ "anyOf": [
1159
+ {
1160
+ "type": "string"
1161
+ },
1162
+ {
1163
+ "type": "number"
1164
+ },
1165
+ {
1166
+ "type": "boolean"
1167
+ }
1168
+ ]
1169
+ },
1170
+ {
1171
+ "type": "null"
1172
+ }
1173
+ ]
1174
+ },
1175
+ {
1176
+ "type": "array",
1177
+ "items": {
1178
+ "$ref": "#/$defs/__schema0"
1179
+ }
1180
+ },
1181
+ {
1182
+ "type": "object",
1183
+ "propertyNames": {
1184
+ "type": "string"
1185
+ },
1186
+ "additionalProperties": {
1187
+ "$ref": "#/$defs/__schema0"
1188
+ }
1189
+ }
1190
+ ]
1191
+ }
1192
+ }
1193
+ },
1194
+ "PushNotificationNotification": {
1195
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1196
+ "type": "object",
1197
+ "properties": {
1198
+ "jsonrpc": {
1199
+ "type": "string",
1200
+ "const": "2.0"
1201
+ },
1202
+ "method": {
1203
+ "type": "string",
1204
+ "const": "io.stagewise/push-notifications/event"
1205
+ },
1206
+ "params": {
1207
+ "allOf": [
1208
+ {
1209
+ "type": "object",
1210
+ "properties": {
1211
+ "_meta": {
1212
+ "type": "object",
1213
+ "propertyNames": {
1214
+ "type": "string"
1215
+ },
1216
+ "additionalProperties": {}
1217
+ }
1218
+ },
1219
+ "additionalProperties": false
1220
+ },
1221
+ {
1222
+ "type": "object",
1223
+ "properties": {
1224
+ "event": {
1225
+ "type": "object",
1226
+ "properties": {
1227
+ "eventId": {
1228
+ "type": "string"
1229
+ },
1230
+ "sourceId": {
1231
+ "type": "string"
1232
+ },
1233
+ "type": {
1234
+ "type": "string"
1235
+ },
1236
+ "createdAt": {
1237
+ "type": "string",
1238
+ "format": "date-time",
1239
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
1240
+ },
1241
+ "content": {
1242
+ "type": "array",
1243
+ "items": {
1244
+ "anyOf": [
1245
+ {
1246
+ "type": "object",
1247
+ "properties": {
1248
+ "type": {
1249
+ "type": "string",
1250
+ "const": "text"
1251
+ },
1252
+ "text": {
1253
+ "type": "string"
1254
+ },
1255
+ "annotations": {
1256
+ "type": "object",
1257
+ "properties": {
1258
+ "audience": {
1259
+ "type": "array",
1260
+ "items": {
1261
+ "type": "string",
1262
+ "enum": [
1263
+ "user",
1264
+ "assistant"
1265
+ ]
1266
+ }
1267
+ },
1268
+ "priority": {
1269
+ "type": "number",
1270
+ "minimum": 0,
1271
+ "maximum": 1
1272
+ },
1273
+ "lastModified": {
1274
+ "type": "string",
1275
+ "format": "date-time",
1276
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1277
+ }
1278
+ },
1279
+ "additionalProperties": false
1280
+ },
1281
+ "_meta": {
1282
+ "type": "object",
1283
+ "propertyNames": {
1284
+ "type": "string"
1285
+ },
1286
+ "additionalProperties": {}
1287
+ }
1288
+ },
1289
+ "required": ["type", "text"],
1290
+ "additionalProperties": false
1291
+ },
1292
+ {
1293
+ "type": "object",
1294
+ "properties": {
1295
+ "type": {
1296
+ "type": "string",
1297
+ "const": "image"
1298
+ },
1299
+ "data": {
1300
+ "type": "string"
1301
+ },
1302
+ "mimeType": {
1303
+ "type": "string"
1304
+ },
1305
+ "annotations": {
1306
+ "type": "object",
1307
+ "properties": {
1308
+ "audience": {
1309
+ "type": "array",
1310
+ "items": {
1311
+ "type": "string",
1312
+ "enum": [
1313
+ "user",
1314
+ "assistant"
1315
+ ]
1316
+ }
1317
+ },
1318
+ "priority": {
1319
+ "type": "number",
1320
+ "minimum": 0,
1321
+ "maximum": 1
1322
+ },
1323
+ "lastModified": {
1324
+ "type": "string",
1325
+ "format": "date-time",
1326
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1327
+ }
1328
+ },
1329
+ "additionalProperties": false
1330
+ },
1331
+ "_meta": {
1332
+ "type": "object",
1333
+ "propertyNames": {
1334
+ "type": "string"
1335
+ },
1336
+ "additionalProperties": {}
1337
+ }
1338
+ },
1339
+ "required": ["type", "data", "mimeType"],
1340
+ "additionalProperties": false
1341
+ },
1342
+ {
1343
+ "type": "object",
1344
+ "properties": {
1345
+ "type": {
1346
+ "type": "string",
1347
+ "const": "audio"
1348
+ },
1349
+ "data": {
1350
+ "type": "string"
1351
+ },
1352
+ "mimeType": {
1353
+ "type": "string"
1354
+ },
1355
+ "annotations": {
1356
+ "type": "object",
1357
+ "properties": {
1358
+ "audience": {
1359
+ "type": "array",
1360
+ "items": {
1361
+ "type": "string",
1362
+ "enum": [
1363
+ "user",
1364
+ "assistant"
1365
+ ]
1366
+ }
1367
+ },
1368
+ "priority": {
1369
+ "type": "number",
1370
+ "minimum": 0,
1371
+ "maximum": 1
1372
+ },
1373
+ "lastModified": {
1374
+ "type": "string",
1375
+ "format": "date-time",
1376
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1377
+ }
1378
+ },
1379
+ "additionalProperties": false
1380
+ },
1381
+ "_meta": {
1382
+ "type": "object",
1383
+ "propertyNames": {
1384
+ "type": "string"
1385
+ },
1386
+ "additionalProperties": {}
1387
+ }
1388
+ },
1389
+ "required": ["type", "data", "mimeType"],
1390
+ "additionalProperties": false
1391
+ },
1392
+ {
1393
+ "type": "object",
1394
+ "properties": {
1395
+ "name": {
1396
+ "type": "string"
1397
+ },
1398
+ "title": {
1399
+ "type": "string"
1400
+ },
1401
+ "icons": {
1402
+ "type": "array",
1403
+ "items": {
1404
+ "type": "object",
1405
+ "properties": {
1406
+ "src": {
1407
+ "type": "string"
1408
+ },
1409
+ "mimeType": {
1410
+ "type": "string"
1411
+ },
1412
+ "sizes": {
1413
+ "type": "array",
1414
+ "items": {
1415
+ "type": "string"
1416
+ }
1417
+ },
1418
+ "theme": {
1419
+ "type": "string",
1420
+ "enum": [
1421
+ "light",
1422
+ "dark"
1423
+ ]
1424
+ }
1425
+ },
1426
+ "required": ["src"],
1427
+ "additionalProperties": false
1428
+ }
1429
+ },
1430
+ "uri": {
1431
+ "type": "string"
1432
+ },
1433
+ "description": {
1434
+ "type": "string"
1435
+ },
1436
+ "mimeType": {
1437
+ "type": "string"
1438
+ },
1439
+ "size": {
1440
+ "type": "number"
1441
+ },
1442
+ "annotations": {
1443
+ "type": "object",
1444
+ "properties": {
1445
+ "audience": {
1446
+ "type": "array",
1447
+ "items": {
1448
+ "type": "string",
1449
+ "enum": [
1450
+ "user",
1451
+ "assistant"
1452
+ ]
1453
+ }
1454
+ },
1455
+ "priority": {
1456
+ "type": "number",
1457
+ "minimum": 0,
1458
+ "maximum": 1
1459
+ },
1460
+ "lastModified": {
1461
+ "type": "string",
1462
+ "format": "date-time",
1463
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1464
+ }
1465
+ },
1466
+ "additionalProperties": false
1467
+ },
1468
+ "_meta": {
1469
+ "type": "object",
1470
+ "properties": {},
1471
+ "additionalProperties": {}
1472
+ },
1473
+ "type": {
1474
+ "type": "string",
1475
+ "const": "resource_link"
1476
+ }
1477
+ },
1478
+ "required": ["name", "uri", "type"],
1479
+ "additionalProperties": false
1480
+ },
1481
+ {
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "type": {
1485
+ "type": "string",
1486
+ "const": "resource"
1487
+ },
1488
+ "resource": {
1489
+ "anyOf": [
1490
+ {
1491
+ "type": "object",
1492
+ "properties": {
1493
+ "uri": {
1494
+ "type": "string"
1495
+ },
1496
+ "mimeType": {
1497
+ "type": "string"
1498
+ },
1499
+ "_meta": {
1500
+ "type": "object",
1501
+ "propertyNames": {
1502
+ "type": "string"
1503
+ },
1504
+ "additionalProperties": {}
1505
+ },
1506
+ "text": {
1507
+ "type": "string"
1508
+ }
1509
+ },
1510
+ "required": ["uri", "text"],
1511
+ "additionalProperties": false
1512
+ },
1513
+ {
1514
+ "type": "object",
1515
+ "properties": {
1516
+ "uri": {
1517
+ "type": "string"
1518
+ },
1519
+ "mimeType": {
1520
+ "type": "string"
1521
+ },
1522
+ "_meta": {
1523
+ "type": "object",
1524
+ "propertyNames": {
1525
+ "type": "string"
1526
+ },
1527
+ "additionalProperties": {}
1528
+ },
1529
+ "blob": {
1530
+ "type": "string"
1531
+ }
1532
+ },
1533
+ "required": ["uri", "blob"],
1534
+ "additionalProperties": false
1535
+ }
1536
+ ]
1537
+ },
1538
+ "annotations": {
1539
+ "type": "object",
1540
+ "properties": {
1541
+ "audience": {
1542
+ "type": "array",
1543
+ "items": {
1544
+ "type": "string",
1545
+ "enum": [
1546
+ "user",
1547
+ "assistant"
1548
+ ]
1549
+ }
1550
+ },
1551
+ "priority": {
1552
+ "type": "number",
1553
+ "minimum": 0,
1554
+ "maximum": 1
1555
+ },
1556
+ "lastModified": {
1557
+ "type": "string",
1558
+ "format": "date-time",
1559
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1560
+ }
1561
+ },
1562
+ "additionalProperties": false
1563
+ },
1564
+ "_meta": {
1565
+ "type": "object",
1566
+ "propertyNames": {
1567
+ "type": "string"
1568
+ },
1569
+ "additionalProperties": {}
1570
+ }
1571
+ },
1572
+ "required": ["type", "resource"],
1573
+ "additionalProperties": false
1574
+ }
1575
+ ]
1576
+ }
1577
+ },
1578
+ "data": {
1579
+ "type": "object",
1580
+ "propertyNames": {
1581
+ "type": "string"
1582
+ },
1583
+ "additionalProperties": {
1584
+ "$ref": "#/$defs/__schema0"
1585
+ }
1586
+ }
1587
+ },
1588
+ "required": [
1589
+ "eventId",
1590
+ "sourceId",
1591
+ "type",
1592
+ "createdAt",
1593
+ "content"
1594
+ ],
1595
+ "additionalProperties": false
1596
+ }
1597
+ },
1598
+ "required": ["event"],
1599
+ "additionalProperties": false
1600
+ }
1601
+ ]
1602
+ }
1603
+ },
1604
+ "required": ["jsonrpc", "method", "params"],
1605
+ "additionalProperties": false,
1606
+ "$defs": {
1607
+ "__schema0": {
1608
+ "anyOf": [
1609
+ {
1610
+ "anyOf": [
1611
+ {
1612
+ "anyOf": [
1613
+ {
1614
+ "type": "string"
1615
+ },
1616
+ {
1617
+ "type": "number"
1618
+ },
1619
+ {
1620
+ "type": "boolean"
1621
+ }
1622
+ ]
1623
+ },
1624
+ {
1625
+ "type": "null"
1626
+ }
1627
+ ]
1628
+ },
1629
+ {
1630
+ "type": "array",
1631
+ "items": {
1632
+ "$ref": "#/$defs/__schema0"
1633
+ }
1634
+ },
1635
+ {
1636
+ "type": "object",
1637
+ "propertyNames": {
1638
+ "type": "string"
1639
+ },
1640
+ "additionalProperties": {
1641
+ "$ref": "#/$defs/__schema0"
1642
+ }
1643
+ }
1644
+ ]
1645
+ }
1646
+ }
1647
+ },
1648
+ "PushNotification": {
1649
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1650
+ "type": "object",
1651
+ "properties": {
1652
+ "eventId": {
1653
+ "type": "string"
1654
+ },
1655
+ "sourceId": {
1656
+ "type": "string"
1657
+ },
1658
+ "type": {
1659
+ "type": "string"
1660
+ },
1661
+ "createdAt": {
1662
+ "type": "string",
1663
+ "format": "date-time",
1664
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
1665
+ },
1666
+ "content": {
1667
+ "type": "array",
1668
+ "items": {
1669
+ "anyOf": [
1670
+ {
1671
+ "type": "object",
1672
+ "properties": {
1673
+ "type": {
1674
+ "type": "string",
1675
+ "const": "text"
1676
+ },
1677
+ "text": {
1678
+ "type": "string"
1679
+ },
1680
+ "annotations": {
1681
+ "type": "object",
1682
+ "properties": {
1683
+ "audience": {
1684
+ "type": "array",
1685
+ "items": {
1686
+ "type": "string",
1687
+ "enum": [
1688
+ "user",
1689
+ "assistant"
1690
+ ]
1691
+ }
1692
+ },
1693
+ "priority": {
1694
+ "type": "number",
1695
+ "minimum": 0,
1696
+ "maximum": 1
1697
+ },
1698
+ "lastModified": {
1699
+ "type": "string",
1700
+ "format": "date-time",
1701
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1702
+ }
1703
+ },
1704
+ "additionalProperties": false
1705
+ },
1706
+ "_meta": {
1707
+ "type": "object",
1708
+ "propertyNames": {
1709
+ "type": "string"
1710
+ },
1711
+ "additionalProperties": {}
1712
+ }
1713
+ },
1714
+ "required": ["type", "text"],
1715
+ "additionalProperties": false
1716
+ },
1717
+ {
1718
+ "type": "object",
1719
+ "properties": {
1720
+ "type": {
1721
+ "type": "string",
1722
+ "const": "image"
1723
+ },
1724
+ "data": {
1725
+ "type": "string"
1726
+ },
1727
+ "mimeType": {
1728
+ "type": "string"
1729
+ },
1730
+ "annotations": {
1731
+ "type": "object",
1732
+ "properties": {
1733
+ "audience": {
1734
+ "type": "array",
1735
+ "items": {
1736
+ "type": "string",
1737
+ "enum": [
1738
+ "user",
1739
+ "assistant"
1740
+ ]
1741
+ }
1742
+ },
1743
+ "priority": {
1744
+ "type": "number",
1745
+ "minimum": 0,
1746
+ "maximum": 1
1747
+ },
1748
+ "lastModified": {
1749
+ "type": "string",
1750
+ "format": "date-time",
1751
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1752
+ }
1753
+ },
1754
+ "additionalProperties": false
1755
+ },
1756
+ "_meta": {
1757
+ "type": "object",
1758
+ "propertyNames": {
1759
+ "type": "string"
1760
+ },
1761
+ "additionalProperties": {}
1762
+ }
1763
+ },
1764
+ "required": ["type", "data", "mimeType"],
1765
+ "additionalProperties": false
1766
+ },
1767
+ {
1768
+ "type": "object",
1769
+ "properties": {
1770
+ "type": {
1771
+ "type": "string",
1772
+ "const": "audio"
1773
+ },
1774
+ "data": {
1775
+ "type": "string"
1776
+ },
1777
+ "mimeType": {
1778
+ "type": "string"
1779
+ },
1780
+ "annotations": {
1781
+ "type": "object",
1782
+ "properties": {
1783
+ "audience": {
1784
+ "type": "array",
1785
+ "items": {
1786
+ "type": "string",
1787
+ "enum": [
1788
+ "user",
1789
+ "assistant"
1790
+ ]
1791
+ }
1792
+ },
1793
+ "priority": {
1794
+ "type": "number",
1795
+ "minimum": 0,
1796
+ "maximum": 1
1797
+ },
1798
+ "lastModified": {
1799
+ "type": "string",
1800
+ "format": "date-time",
1801
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1802
+ }
1803
+ },
1804
+ "additionalProperties": false
1805
+ },
1806
+ "_meta": {
1807
+ "type": "object",
1808
+ "propertyNames": {
1809
+ "type": "string"
1810
+ },
1811
+ "additionalProperties": {}
1812
+ }
1813
+ },
1814
+ "required": ["type", "data", "mimeType"],
1815
+ "additionalProperties": false
1816
+ },
1817
+ {
1818
+ "type": "object",
1819
+ "properties": {
1820
+ "name": {
1821
+ "type": "string"
1822
+ },
1823
+ "title": {
1824
+ "type": "string"
1825
+ },
1826
+ "icons": {
1827
+ "type": "array",
1828
+ "items": {
1829
+ "type": "object",
1830
+ "properties": {
1831
+ "src": {
1832
+ "type": "string"
1833
+ },
1834
+ "mimeType": {
1835
+ "type": "string"
1836
+ },
1837
+ "sizes": {
1838
+ "type": "array",
1839
+ "items": {
1840
+ "type": "string"
1841
+ }
1842
+ },
1843
+ "theme": {
1844
+ "type": "string",
1845
+ "enum": [
1846
+ "light",
1847
+ "dark"
1848
+ ]
1849
+ }
1850
+ },
1851
+ "required": ["src"],
1852
+ "additionalProperties": false
1853
+ }
1854
+ },
1855
+ "uri": {
1856
+ "type": "string"
1857
+ },
1858
+ "description": {
1859
+ "type": "string"
1860
+ },
1861
+ "mimeType": {
1862
+ "type": "string"
1863
+ },
1864
+ "size": {
1865
+ "type": "number"
1866
+ },
1867
+ "annotations": {
1868
+ "type": "object",
1869
+ "properties": {
1870
+ "audience": {
1871
+ "type": "array",
1872
+ "items": {
1873
+ "type": "string",
1874
+ "enum": [
1875
+ "user",
1876
+ "assistant"
1877
+ ]
1878
+ }
1879
+ },
1880
+ "priority": {
1881
+ "type": "number",
1882
+ "minimum": 0,
1883
+ "maximum": 1
1884
+ },
1885
+ "lastModified": {
1886
+ "type": "string",
1887
+ "format": "date-time",
1888
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1889
+ }
1890
+ },
1891
+ "additionalProperties": false
1892
+ },
1893
+ "_meta": {
1894
+ "type": "object",
1895
+ "properties": {},
1896
+ "additionalProperties": {}
1897
+ },
1898
+ "type": {
1899
+ "type": "string",
1900
+ "const": "resource_link"
1901
+ }
1902
+ },
1903
+ "required": ["name", "uri", "type"],
1904
+ "additionalProperties": false
1905
+ },
1906
+ {
1907
+ "type": "object",
1908
+ "properties": {
1909
+ "type": {
1910
+ "type": "string",
1911
+ "const": "resource"
1912
+ },
1913
+ "resource": {
1914
+ "anyOf": [
1915
+ {
1916
+ "type": "object",
1917
+ "properties": {
1918
+ "uri": {
1919
+ "type": "string"
1920
+ },
1921
+ "mimeType": {
1922
+ "type": "string"
1923
+ },
1924
+ "_meta": {
1925
+ "type": "object",
1926
+ "propertyNames": {
1927
+ "type": "string"
1928
+ },
1929
+ "additionalProperties": {}
1930
+ },
1931
+ "text": {
1932
+ "type": "string"
1933
+ }
1934
+ },
1935
+ "required": ["uri", "text"],
1936
+ "additionalProperties": false
1937
+ },
1938
+ {
1939
+ "type": "object",
1940
+ "properties": {
1941
+ "uri": {
1942
+ "type": "string"
1943
+ },
1944
+ "mimeType": {
1945
+ "type": "string"
1946
+ },
1947
+ "_meta": {
1948
+ "type": "object",
1949
+ "propertyNames": {
1950
+ "type": "string"
1951
+ },
1952
+ "additionalProperties": {}
1953
+ },
1954
+ "blob": {
1955
+ "type": "string"
1956
+ }
1957
+ },
1958
+ "required": ["uri", "blob"],
1959
+ "additionalProperties": false
1960
+ }
1961
+ ]
1962
+ },
1963
+ "annotations": {
1964
+ "type": "object",
1965
+ "properties": {
1966
+ "audience": {
1967
+ "type": "array",
1968
+ "items": {
1969
+ "type": "string",
1970
+ "enum": [
1971
+ "user",
1972
+ "assistant"
1973
+ ]
1974
+ }
1975
+ },
1976
+ "priority": {
1977
+ "type": "number",
1978
+ "minimum": 0,
1979
+ "maximum": 1
1980
+ },
1981
+ "lastModified": {
1982
+ "type": "string",
1983
+ "format": "date-time",
1984
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1985
+ }
1986
+ },
1987
+ "additionalProperties": false
1988
+ },
1989
+ "_meta": {
1990
+ "type": "object",
1991
+ "propertyNames": {
1992
+ "type": "string"
1993
+ },
1994
+ "additionalProperties": {}
1995
+ }
1996
+ },
1997
+ "required": ["type", "resource"],
1998
+ "additionalProperties": false
1999
+ }
2000
+ ]
2001
+ }
2002
+ },
2003
+ "data": {
2004
+ "type": "object",
2005
+ "propertyNames": {
2006
+ "type": "string"
2007
+ },
2008
+ "additionalProperties": {
2009
+ "$ref": "#/$defs/__schema0"
2010
+ }
2011
+ }
2012
+ },
2013
+ "required": ["eventId", "sourceId", "type", "createdAt", "content"],
2014
+ "additionalProperties": false,
2015
+ "$defs": {
2016
+ "__schema0": {
2017
+ "anyOf": [
2018
+ {
2019
+ "anyOf": [
2020
+ {
2021
+ "anyOf": [
2022
+ {
2023
+ "type": "string"
2024
+ },
2025
+ {
2026
+ "type": "number"
2027
+ },
2028
+ {
2029
+ "type": "boolean"
2030
+ }
2031
+ ]
2032
+ },
2033
+ {
2034
+ "type": "null"
2035
+ }
2036
+ ]
2037
+ },
2038
+ {
2039
+ "type": "array",
2040
+ "items": {
2041
+ "$ref": "#/$defs/__schema0"
2042
+ }
2043
+ },
2044
+ {
2045
+ "type": "object",
2046
+ "propertyNames": {
2047
+ "type": "string"
2048
+ },
2049
+ "additionalProperties": {
2050
+ "$ref": "#/$defs/__schema0"
2051
+ }
2052
+ }
2053
+ ]
2054
+ }
2055
+ }
2056
+ },
2057
+ "PushNotificationsCapabilities": {
2058
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2059
+ "allOf": [
2060
+ {
2061
+ "type": "object",
2062
+ "propertyNames": {
2063
+ "type": "string"
2064
+ },
2065
+ "additionalProperties": {}
2066
+ },
2067
+ {
2068
+ "type": "object",
2069
+ "properties": {
2070
+ "extensions": {
2071
+ "allOf": [
2072
+ {
2073
+ "type": "object",
2074
+ "propertyNames": {
2075
+ "type": "string"
2076
+ },
2077
+ "additionalProperties": {}
2078
+ },
2079
+ {
2080
+ "type": "object",
2081
+ "properties": {
2082
+ "io.stagewise/push-notifications": {
2083
+ "type": "object",
2084
+ "propertyNames": {
2085
+ "type": "string"
2086
+ },
2087
+ "additionalProperties": {
2088
+ "not": {}
2089
+ }
2090
+ }
2091
+ },
2092
+ "additionalProperties": false
2093
+ }
2094
+ ]
2095
+ }
2096
+ },
2097
+ "additionalProperties": false
2098
+ }
2099
+ ]
2100
+ },
2101
+ "PushNotificationsClientCapabilitiesMeta": {
2102
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2103
+ "allOf": [
2104
+ {
2105
+ "type": "object",
2106
+ "propertyNames": {
2107
+ "type": "string"
2108
+ },
2109
+ "additionalProperties": {}
2110
+ },
2111
+ {
2112
+ "type": "object",
2113
+ "properties": {
2114
+ "io.modelcontextprotocol/clientCapabilities": {
2115
+ "allOf": [
2116
+ {
2117
+ "type": "object",
2118
+ "propertyNames": {
2119
+ "type": "string"
2120
+ },
2121
+ "additionalProperties": {}
2122
+ },
2123
+ {
2124
+ "type": "object",
2125
+ "properties": {
2126
+ "extensions": {
2127
+ "allOf": [
2128
+ {
2129
+ "type": "object",
2130
+ "propertyNames": {
2131
+ "type": "string"
2132
+ },
2133
+ "additionalProperties": {}
2134
+ },
2135
+ {
2136
+ "type": "object",
2137
+ "properties": {
2138
+ "io.stagewise/push-notifications": {
2139
+ "type": "object",
2140
+ "propertyNames": {
2141
+ "type": "string"
2142
+ },
2143
+ "additionalProperties": {
2144
+ "not": {}
2145
+ }
2146
+ }
2147
+ },
2148
+ "additionalProperties": false
2149
+ }
2150
+ ]
2151
+ }
2152
+ },
2153
+ "additionalProperties": false
2154
+ }
2155
+ ]
2156
+ }
2157
+ },
2158
+ "additionalProperties": false
2159
+ }
2160
+ ]
2161
+ },
2162
+ "PushNotificationsExtensionCapability": {
2163
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2164
+ "type": "object",
2165
+ "propertyNames": {
2166
+ "type": "string"
2167
+ },
2168
+ "additionalProperties": {
2169
+ "not": {}
2170
+ }
2171
+ },
2172
+ "PushNotificationsSubscriptionAcknowledgedNotifications": {
2173
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2174
+ "type": "object",
2175
+ "properties": {
2176
+ "io.stagewise/push-notifications": {
2177
+ "type": "object",
2178
+ "propertyNames": {
2179
+ "type": "string"
2180
+ },
2181
+ "additionalProperties": {
2182
+ "not": {}
2183
+ }
2184
+ }
2185
+ },
2186
+ "additionalProperties": false
2187
+ },
2188
+ "PushNotificationsSubscriptionNotifications": {
2189
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2190
+ "type": "object",
2191
+ "properties": {
2192
+ "io.stagewise/push-notifications": {
2193
+ "type": "object",
2194
+ "propertyNames": {
2195
+ "type": "string"
2196
+ },
2197
+ "additionalProperties": {
2198
+ "not": {}
2199
+ }
2200
+ }
2201
+ },
2202
+ "additionalProperties": false
2203
+ },
2204
+ "PushNotificationsSubscription": {
2205
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2206
+ "type": "object",
2207
+ "propertyNames": {
2208
+ "type": "string"
2209
+ },
2210
+ "additionalProperties": {
2211
+ "not": {}
2212
+ }
2213
+ },
2214
+ "ServerDiscoverRequest": {
2215
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2216
+ "type": "object",
2217
+ "properties": {
2218
+ "jsonrpc": {
2219
+ "type": "string",
2220
+ "const": "2.0"
2221
+ },
2222
+ "id": {
2223
+ "anyOf": [
2224
+ {
2225
+ "type": "string"
2226
+ },
2227
+ {
2228
+ "type": "number"
2229
+ }
2230
+ ]
2231
+ },
2232
+ "method": {
2233
+ "type": "string",
2234
+ "const": "server/discover"
2235
+ },
2236
+ "params": {
2237
+ "type": "object",
2238
+ "propertyNames": {
2239
+ "type": "string"
2240
+ },
2241
+ "additionalProperties": {}
2242
+ }
2243
+ },
2244
+ "required": ["jsonrpc", "id", "method", "params"],
2245
+ "additionalProperties": false
2246
+ },
2247
+ "ServerDiscoverResult": {
2248
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2249
+ "allOf": [
2250
+ {
2251
+ "type": "object",
2252
+ "properties": {
2253
+ "_meta": {
2254
+ "type": "object",
2255
+ "propertyNames": {
2256
+ "type": "string"
2257
+ },
2258
+ "additionalProperties": {}
2259
+ }
2260
+ },
2261
+ "additionalProperties": false
2262
+ },
2263
+ {
2264
+ "type": "object",
2265
+ "properties": {
2266
+ "capabilities": {
2267
+ "allOf": [
2268
+ {
2269
+ "type": "object",
2270
+ "propertyNames": {
2271
+ "type": "string"
2272
+ },
2273
+ "additionalProperties": {}
2274
+ },
2275
+ {
2276
+ "type": "object",
2277
+ "properties": {
2278
+ "extensions": {
2279
+ "allOf": [
2280
+ {
2281
+ "type": "object",
2282
+ "propertyNames": {
2283
+ "type": "string"
2284
+ },
2285
+ "additionalProperties": {}
2286
+ },
2287
+ {
2288
+ "type": "object",
2289
+ "properties": {
2290
+ "io.stagewise/push-notifications": {
2291
+ "type": "object",
2292
+ "propertyNames": {
2293
+ "type": "string"
2294
+ },
2295
+ "additionalProperties": {
2296
+ "not": {}
2297
+ }
2298
+ }
2299
+ },
2300
+ "additionalProperties": false
2301
+ }
2302
+ ]
2303
+ }
2304
+ },
2305
+ "additionalProperties": false
2306
+ }
2307
+ ]
2308
+ }
2309
+ },
2310
+ "required": ["capabilities"],
2311
+ "additionalProperties": false
2312
+ }
2313
+ ]
2314
+ },
2315
+ "SubscriptionsAcknowledgedNotification": {
2316
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2317
+ "type": "object",
2318
+ "properties": {
2319
+ "jsonrpc": {
2320
+ "type": "string",
2321
+ "const": "2.0"
2322
+ },
2323
+ "method": {
2324
+ "type": "string",
2325
+ "const": "notifications/subscriptions/acknowledged"
2326
+ },
2327
+ "params": {
2328
+ "allOf": [
2329
+ {
2330
+ "type": "object",
2331
+ "properties": {
2332
+ "_meta": {
2333
+ "type": "object",
2334
+ "propertyNames": {
2335
+ "type": "string"
2336
+ },
2337
+ "additionalProperties": {}
2338
+ }
2339
+ },
2340
+ "additionalProperties": false
2341
+ },
2342
+ {
2343
+ "type": "object",
2344
+ "properties": {
2345
+ "notifications": {
2346
+ "allOf": [
2347
+ {
2348
+ "type": "object",
2349
+ "properties": {
2350
+ "io.stagewise/push-notifications": {
2351
+ "type": "object",
2352
+ "propertyNames": {
2353
+ "type": "string"
2354
+ },
2355
+ "additionalProperties": {
2356
+ "not": {}
2357
+ }
2358
+ }
2359
+ },
2360
+ "additionalProperties": false
2361
+ },
2362
+ {
2363
+ "type": "object",
2364
+ "propertyNames": {
2365
+ "type": "string"
2366
+ },
2367
+ "additionalProperties": {}
2368
+ }
2369
+ ]
2370
+ }
2371
+ },
2372
+ "required": ["notifications"],
2373
+ "additionalProperties": false
2374
+ }
2375
+ ]
2376
+ }
2377
+ },
2378
+ "required": ["jsonrpc", "method", "params"],
2379
+ "additionalProperties": false
2380
+ },
2381
+ "SubscriptionsListenRequest": {
2382
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2383
+ "type": "object",
2384
+ "properties": {
2385
+ "jsonrpc": {
2386
+ "type": "string",
2387
+ "const": "2.0"
2388
+ },
2389
+ "id": {
2390
+ "anyOf": [
2391
+ {
2392
+ "type": "string"
2393
+ },
2394
+ {
2395
+ "type": "number"
2396
+ }
2397
+ ]
2398
+ },
2399
+ "method": {
2400
+ "type": "string",
2401
+ "const": "subscriptions/listen"
2402
+ },
2403
+ "params": {
2404
+ "allOf": [
2405
+ {
2406
+ "type": "object",
2407
+ "propertyNames": {
2408
+ "type": "string"
2409
+ },
2410
+ "additionalProperties": {}
2411
+ },
2412
+ {
2413
+ "type": "object",
2414
+ "properties": {
2415
+ "notifications": {
2416
+ "allOf": [
2417
+ {
2418
+ "type": "object",
2419
+ "properties": {
2420
+ "io.stagewise/push-notifications": {
2421
+ "type": "object",
2422
+ "propertyNames": {
2423
+ "type": "string"
2424
+ },
2425
+ "additionalProperties": {
2426
+ "not": {}
2427
+ }
2428
+ }
2429
+ },
2430
+ "additionalProperties": false
2431
+ },
2432
+ {
2433
+ "type": "object",
2434
+ "propertyNames": {
2435
+ "type": "string"
2436
+ },
2437
+ "additionalProperties": {}
2438
+ }
2439
+ ]
2440
+ }
2441
+ },
2442
+ "required": ["notifications"],
2443
+ "additionalProperties": false
2444
+ }
2445
+ ]
2446
+ }
2447
+ },
2448
+ "required": ["jsonrpc", "id", "method", "params"],
2449
+ "additionalProperties": false
2450
+ },
2451
+ "SubscriptionsListenResult": {
2452
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2453
+ "type": "object",
2454
+ "properties": {
2455
+ "_meta": {
2456
+ "type": "object",
2457
+ "propertyNames": {
2458
+ "type": "string"
2459
+ },
2460
+ "additionalProperties": {}
2461
+ }
2462
+ },
2463
+ "additionalProperties": false
2464
+ }
2465
+ }
2466
+ }