@roll-agent/protocol 0.2.0 → 0.4.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 (36) hide show
  1. package/README.md +105 -14
  2. package/dist/index.d.ts +9487 -663
  3. package/dist/index.js +1272 -138
  4. package/dist/schema/roll-runtime-protocol-v1.0.schema.json +2657 -0
  5. package/dist/schema/roll-runtime-protocol-v1.1.schema.json +2824 -0
  6. package/dist/schema/roll-runtime-protocol-v1.2.schema.json +4112 -0
  7. package/dist/schema/roll-runtime-protocol-v1.3.schema.json +5695 -0
  8. package/dist/schema/roll-runtime-protocol-v1.schema.json +4061 -1223
  9. package/fixtures/v1/valid-approval-request.json +2 -1
  10. package/fixtures/v1.2/invalid-duplicate-client-capability-method.json +9 -0
  11. package/fixtures/v1.2/invalid-legacy-approval-request.json +15 -0
  12. package/fixtures/v1.2/invalid-legacy-server-request-cancel-notification.json +9 -0
  13. package/fixtures/v1.2/invalid-sensitive-approval-request.json +19 -0
  14. package/fixtures/v1.2/invalid-sensitive-user-input-request.json +20 -0
  15. package/fixtures/v1.2/invalid-thread-snapshot-interaction-payload.json +37 -0
  16. package/fixtures/v1.2/invalid-user-input-request-response.json +13 -0
  17. package/fixtures/v1.2/valid-approval-request.json +22 -0
  18. package/fixtures/v1.2/valid-client-capabilities-set-request.json +9 -0
  19. package/fixtures/v1.2/valid-client-capabilities-set-response.json +8 -0
  20. package/fixtures/v1.2/valid-server-request-cancel-notification.json +8 -0
  21. package/fixtures/v1.2/valid-thread-snapshot-response.json +42 -0
  22. package/fixtures/v1.2/valid-user-input-request-response.json +11 -0
  23. package/fixtures/v1.2/valid-user-input-request.json +35 -0
  24. package/fixtures/v1.3/invalid-durable-delta-event-notification.json +19 -0
  25. package/fixtures/v1.3/invalid-ephemeral-completed-event-notification.json +15 -0
  26. package/fixtures/v1.3/invalid-runtime-events-resume-cursor-request.json +9 -0
  27. package/fixtures/v1.3/invalid-thread-recovery-snapshot-response.json +31 -0
  28. package/fixtures/v1.3/invalid-thread-recovery-snapshot-timestamp-response.json +21 -0
  29. package/fixtures/v1.3/valid-runtime-durable-event-notification.json +20 -0
  30. package/fixtures/v1.3/valid-runtime-ephemeral-event-notification.json +18 -0
  31. package/fixtures/v1.3/valid-runtime-events-resume-request.json +9 -0
  32. package/fixtures/v1.3/valid-runtime-events-resume-response.json +8 -0
  33. package/fixtures/v1.3/valid-thread-recovery-snapshot-request.json +10 -0
  34. package/fixtures/v1.3/valid-thread-recovery-snapshot-response.json +21 -0
  35. package/fixtures/v1.3/valid-thread-snapshot-response.json +20 -0
  36. package/package.json +6 -1
@@ -0,0 +1,2824 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://roll-agent.dev/schemas/runtime-protocol/1.1",
4
+ "title": "Roll Runtime Protocol v1.1",
5
+ "description": "Bidirectional JSON-RPC requests, responses, and notifications for Roll Runtime Protocol.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "#/$defs/clientRequest"
9
+ },
10
+ {
11
+ "$ref": "#/$defs/serverRequest"
12
+ },
13
+ {
14
+ "$ref": "#/$defs/runtimeEventNotification"
15
+ },
16
+ {
17
+ "$ref": "#/$defs/runtimeServerRequestCancelNotification"
18
+ },
19
+ {
20
+ "$ref": "#/$defs/successResponse"
21
+ },
22
+ {
23
+ "$ref": "#/$defs/errorResponse"
24
+ }
25
+ ],
26
+ "$defs": {
27
+ "jsonRpcId": {
28
+ "anyOf": [
29
+ {
30
+ "type": "string"
31
+ },
32
+ {
33
+ "type": "number"
34
+ }
35
+ ]
36
+ },
37
+ "runtimeEventEnvelope": {
38
+ "readOnly": true,
39
+ "type": "object",
40
+ "properties": {
41
+ "protocolVersion": {
42
+ "type": "string",
43
+ "const": "1.1"
44
+ },
45
+ "runtimeInstanceId": {
46
+ "type": "string",
47
+ "format": "uuid",
48
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
49
+ },
50
+ "sequence": {
51
+ "type": "integer",
52
+ "minimum": 0,
53
+ "maximum": 9007199254740991
54
+ },
55
+ "timestamp": {
56
+ "type": "string",
57
+ "format": "date-time",
58
+ "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|([+-]\\d{2}:\\d{2})))$"
59
+ },
60
+ "threadId": {
61
+ "type": "string",
62
+ "format": "uuid",
63
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
64
+ },
65
+ "turnId": {
66
+ "type": "string",
67
+ "format": "uuid",
68
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
69
+ },
70
+ "event": {
71
+ "anyOf": [
72
+ {
73
+ "readOnly": true,
74
+ "type": "object",
75
+ "properties": {
76
+ "type": {
77
+ "type": "string",
78
+ "const": "turn.started"
79
+ }
80
+ },
81
+ "required": [
82
+ "type"
83
+ ],
84
+ "additionalProperties": false
85
+ },
86
+ {
87
+ "readOnly": true,
88
+ "type": "object",
89
+ "properties": {
90
+ "type": {
91
+ "type": "string",
92
+ "const": "message.started"
93
+ },
94
+ "streamId": {
95
+ "type": "string",
96
+ "format": "uuid",
97
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
98
+ }
99
+ },
100
+ "required": [
101
+ "type",
102
+ "streamId"
103
+ ],
104
+ "additionalProperties": false
105
+ },
106
+ {
107
+ "readOnly": true,
108
+ "type": "object",
109
+ "properties": {
110
+ "type": {
111
+ "type": "string",
112
+ "const": "message.delta"
113
+ },
114
+ "streamId": {
115
+ "type": "string",
116
+ "format": "uuid",
117
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
118
+ },
119
+ "delta": {
120
+ "type": "string"
121
+ }
122
+ },
123
+ "required": [
124
+ "type",
125
+ "streamId",
126
+ "delta"
127
+ ],
128
+ "additionalProperties": false
129
+ },
130
+ {
131
+ "readOnly": true,
132
+ "type": "object",
133
+ "properties": {
134
+ "type": {
135
+ "type": "string",
136
+ "const": "message.completed"
137
+ },
138
+ "streamId": {
139
+ "type": "string",
140
+ "format": "uuid",
141
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
142
+ },
143
+ "text": {
144
+ "type": "string"
145
+ }
146
+ },
147
+ "required": [
148
+ "type",
149
+ "streamId",
150
+ "text"
151
+ ],
152
+ "additionalProperties": false
153
+ },
154
+ {
155
+ "readOnly": true,
156
+ "type": "object",
157
+ "properties": {
158
+ "type": {
159
+ "type": "string",
160
+ "const": "reasoning.summary.delta"
161
+ },
162
+ "reasoningId": {
163
+ "type": "string",
164
+ "minLength": 1
165
+ },
166
+ "delta": {
167
+ "type": "string"
168
+ }
169
+ },
170
+ "required": [
171
+ "type",
172
+ "reasoningId",
173
+ "delta"
174
+ ],
175
+ "additionalProperties": false
176
+ },
177
+ {
178
+ "readOnly": true,
179
+ "type": "object",
180
+ "properties": {
181
+ "type": {
182
+ "type": "string",
183
+ "const": "tool.started"
184
+ },
185
+ "toolCallId": {
186
+ "type": "string",
187
+ "minLength": 1
188
+ },
189
+ "agentName": {
190
+ "type": "string",
191
+ "minLength": 1
192
+ },
193
+ "toolName": {
194
+ "type": "string",
195
+ "minLength": 1
196
+ },
197
+ "input": {
198
+ "$ref": "#/$defs/sharedSchema0"
199
+ }
200
+ },
201
+ "required": [
202
+ "type",
203
+ "toolCallId",
204
+ "agentName",
205
+ "toolName",
206
+ "input"
207
+ ],
208
+ "additionalProperties": false
209
+ },
210
+ {
211
+ "readOnly": true,
212
+ "type": "object",
213
+ "properties": {
214
+ "type": {
215
+ "type": "string",
216
+ "const": "tool.output"
217
+ },
218
+ "toolCallId": {
219
+ "type": "string",
220
+ "minLength": 1
221
+ },
222
+ "agentName": {
223
+ "type": "string",
224
+ "minLength": 1
225
+ },
226
+ "toolName": {
227
+ "type": "string",
228
+ "minLength": 1
229
+ },
230
+ "stream": {
231
+ "type": "string",
232
+ "enum": [
233
+ "stdout",
234
+ "stderr"
235
+ ]
236
+ },
237
+ "delta": {
238
+ "type": "string"
239
+ }
240
+ },
241
+ "required": [
242
+ "type",
243
+ "toolCallId",
244
+ "agentName",
245
+ "toolName",
246
+ "stream",
247
+ "delta"
248
+ ],
249
+ "additionalProperties": false
250
+ },
251
+ {
252
+ "readOnly": true,
253
+ "type": "object",
254
+ "properties": {
255
+ "type": {
256
+ "type": "string",
257
+ "const": "tool.completed"
258
+ },
259
+ "toolCallId": {
260
+ "type": "string",
261
+ "minLength": 1
262
+ },
263
+ "agentName": {
264
+ "type": "string",
265
+ "minLength": 1
266
+ },
267
+ "toolName": {
268
+ "type": "string",
269
+ "minLength": 1
270
+ },
271
+ "operationId": {
272
+ "type": "string",
273
+ "format": "uuid",
274
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
275
+ },
276
+ "outcome": {
277
+ "readOnly": true,
278
+ "type": "object",
279
+ "properties": {
280
+ "kind": {
281
+ "type": "string",
282
+ "enum": [
283
+ "success",
284
+ "user_rejected",
285
+ "policy_denied",
286
+ "invalid_input",
287
+ "cancelled",
288
+ "tool_failed"
289
+ ]
290
+ },
291
+ "reason": {
292
+ "type": "string"
293
+ }
294
+ },
295
+ "required": [
296
+ "kind"
297
+ ],
298
+ "additionalProperties": false
299
+ },
300
+ "display": {
301
+ "$ref": "#/$defs/sharedSchema0"
302
+ }
303
+ },
304
+ "required": [
305
+ "type",
306
+ "toolCallId",
307
+ "agentName",
308
+ "toolName",
309
+ "display"
310
+ ],
311
+ "additionalProperties": false
312
+ },
313
+ {
314
+ "readOnly": true,
315
+ "type": "object",
316
+ "properties": {
317
+ "type": {
318
+ "type": "string",
319
+ "const": "approval.required"
320
+ },
321
+ "approval": {
322
+ "readOnly": true,
323
+ "type": "object",
324
+ "properties": {
325
+ "id": {
326
+ "type": "string",
327
+ "format": "uuid",
328
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
329
+ },
330
+ "turnId": {
331
+ "type": "string",
332
+ "format": "uuid",
333
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
334
+ },
335
+ "agentName": {
336
+ "type": "string",
337
+ "minLength": 1
338
+ },
339
+ "toolName": {
340
+ "type": "string",
341
+ "minLength": 1
342
+ },
343
+ "preview": {
344
+ "$ref": "#/$defs/sharedSchema0"
345
+ },
346
+ "reason": {
347
+ "type": "string"
348
+ }
349
+ },
350
+ "required": [
351
+ "id",
352
+ "turnId",
353
+ "agentName",
354
+ "toolName",
355
+ "preview"
356
+ ],
357
+ "additionalProperties": false
358
+ }
359
+ },
360
+ "required": [
361
+ "type",
362
+ "approval"
363
+ ],
364
+ "additionalProperties": false
365
+ },
366
+ {
367
+ "readOnly": true,
368
+ "type": "object",
369
+ "properties": {
370
+ "type": {
371
+ "type": "string",
372
+ "const": "approval.resolved"
373
+ },
374
+ "approvalId": {
375
+ "type": "string",
376
+ "format": "uuid",
377
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
378
+ },
379
+ "resolution": {
380
+ "anyOf": [
381
+ {
382
+ "readOnly": true,
383
+ "type": "object",
384
+ "properties": {
385
+ "status": {
386
+ "type": "string",
387
+ "const": "resolved"
388
+ },
389
+ "decision": {
390
+ "type": "string",
391
+ "const": "approve"
392
+ }
393
+ },
394
+ "required": [
395
+ "status",
396
+ "decision"
397
+ ],
398
+ "additionalProperties": false
399
+ },
400
+ {
401
+ "readOnly": true,
402
+ "type": "object",
403
+ "properties": {
404
+ "status": {
405
+ "type": "string",
406
+ "const": "resolved"
407
+ },
408
+ "decision": {
409
+ "type": "string",
410
+ "const": "reject"
411
+ },
412
+ "reason": {
413
+ "type": "string",
414
+ "minLength": 1
415
+ }
416
+ },
417
+ "required": [
418
+ "status",
419
+ "decision"
420
+ ],
421
+ "additionalProperties": false
422
+ },
423
+ {
424
+ "readOnly": true,
425
+ "type": "object",
426
+ "properties": {
427
+ "status": {
428
+ "type": "string",
429
+ "const": "cancelled"
430
+ },
431
+ "reason": {
432
+ "type": "string",
433
+ "minLength": 1
434
+ }
435
+ },
436
+ "required": [
437
+ "status",
438
+ "reason"
439
+ ],
440
+ "additionalProperties": false
441
+ },
442
+ {
443
+ "readOnly": true,
444
+ "type": "object",
445
+ "properties": {
446
+ "status": {
447
+ "type": "string",
448
+ "const": "expired"
449
+ },
450
+ "reason": {
451
+ "type": "string",
452
+ "minLength": 1
453
+ }
454
+ },
455
+ "required": [
456
+ "status"
457
+ ],
458
+ "additionalProperties": false
459
+ }
460
+ ]
461
+ }
462
+ },
463
+ "required": [
464
+ "type",
465
+ "approvalId",
466
+ "resolution"
467
+ ],
468
+ "additionalProperties": false
469
+ },
470
+ {
471
+ "readOnly": true,
472
+ "type": "object",
473
+ "properties": {
474
+ "type": {
475
+ "type": "string",
476
+ "const": "turn.completed"
477
+ }
478
+ },
479
+ "required": [
480
+ "type"
481
+ ],
482
+ "additionalProperties": false
483
+ },
484
+ {
485
+ "readOnly": true,
486
+ "type": "object",
487
+ "properties": {
488
+ "type": {
489
+ "type": "string",
490
+ "const": "turn.cancelled"
491
+ },
492
+ "reason": {
493
+ "type": "string"
494
+ },
495
+ "message": {
496
+ "type": "string"
497
+ }
498
+ },
499
+ "required": [
500
+ "type",
501
+ "reason",
502
+ "message"
503
+ ],
504
+ "additionalProperties": false
505
+ },
506
+ {
507
+ "readOnly": true,
508
+ "type": "object",
509
+ "properties": {
510
+ "type": {
511
+ "type": "string",
512
+ "const": "turn.failed"
513
+ },
514
+ "stage": {
515
+ "type": "string",
516
+ "enum": [
517
+ "bootstrap",
518
+ "plan",
519
+ "execute"
520
+ ]
521
+ },
522
+ "message": {
523
+ "type": "string"
524
+ }
525
+ },
526
+ "required": [
527
+ "type",
528
+ "stage",
529
+ "message"
530
+ ],
531
+ "additionalProperties": false
532
+ },
533
+ {
534
+ "readOnly": true,
535
+ "type": "object",
536
+ "properties": {
537
+ "type": {
538
+ "type": "string",
539
+ "const": "capabilities.changed"
540
+ }
541
+ },
542
+ "required": [
543
+ "type"
544
+ ],
545
+ "additionalProperties": false
546
+ }
547
+ ]
548
+ }
549
+ },
550
+ "required": [
551
+ "protocolVersion",
552
+ "runtimeInstanceId",
553
+ "sequence",
554
+ "timestamp",
555
+ "threadId",
556
+ "event"
557
+ ],
558
+ "additionalProperties": false
559
+ },
560
+ "runtimeProtocolErrorData": {
561
+ "readOnly": true,
562
+ "type": "object",
563
+ "properties": {
564
+ "rollCode": {
565
+ "type": "string",
566
+ "enum": [
567
+ "PROTOCOL_VERSION_UNSUPPORTED",
568
+ "INITIALIZE_REQUIRED",
569
+ "INVALID_PARAMS",
570
+ "THREAD_NOT_FOUND",
571
+ "THREAD_BUSY",
572
+ "TURN_NOT_FOUND",
573
+ "TURN_ALREADY_ACTIVE",
574
+ "APPROVAL_NOT_FOUND",
575
+ "CAPABILITY_UNAVAILABLE",
576
+ "RUNTIME_CLOSING",
577
+ "OUTCOME_UNKNOWN",
578
+ "INTERNAL_ERROR"
579
+ ]
580
+ },
581
+ "retryable": {
582
+ "type": "boolean"
583
+ },
584
+ "details": {
585
+ "$ref": "#/$defs/sharedSchema0"
586
+ }
587
+ },
588
+ "required": [
589
+ "rollCode",
590
+ "retryable"
591
+ ],
592
+ "additionalProperties": false
593
+ },
594
+ "runtimeServerRequestCancelParams": {
595
+ "readOnly": true,
596
+ "type": "object",
597
+ "properties": {
598
+ "serverRequestId": {
599
+ "$ref": "#/$defs/jsonRpcId"
600
+ },
601
+ "approvalId": {
602
+ "type": "string",
603
+ "format": "uuid",
604
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
605
+ },
606
+ "reason": {
607
+ "type": "string",
608
+ "minLength": 1
609
+ }
610
+ },
611
+ "required": [
612
+ "serverRequestId",
613
+ "reason"
614
+ ],
615
+ "additionalProperties": false
616
+ },
617
+ "initializeParams": {
618
+ "readOnly": true,
619
+ "type": "object",
620
+ "properties": {
621
+ "protocolVersions": {
622
+ "minItems": 1,
623
+ "type": "array",
624
+ "items": {
625
+ "type": "string",
626
+ "minLength": 1
627
+ }
628
+ },
629
+ "client": {
630
+ "readOnly": true,
631
+ "type": "object",
632
+ "properties": {
633
+ "name": {
634
+ "type": "string",
635
+ "minLength": 1,
636
+ "maxLength": 100
637
+ },
638
+ "version": {
639
+ "type": "string",
640
+ "minLength": 1,
641
+ "maxLength": 100
642
+ }
643
+ },
644
+ "required": [
645
+ "name",
646
+ "version"
647
+ ],
648
+ "additionalProperties": false
649
+ }
650
+ },
651
+ "required": [
652
+ "protocolVersions",
653
+ "client"
654
+ ],
655
+ "additionalProperties": false
656
+ },
657
+ "initializeResult": {
658
+ "readOnly": true,
659
+ "type": "object",
660
+ "properties": {
661
+ "protocolVersion": {
662
+ "type": "string",
663
+ "const": "1.1"
664
+ },
665
+ "runtimeInstanceId": {
666
+ "type": "string",
667
+ "format": "uuid",
668
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
669
+ },
670
+ "server": {
671
+ "readOnly": true,
672
+ "type": "object",
673
+ "properties": {
674
+ "name": {
675
+ "type": "string",
676
+ "minLength": 1,
677
+ "maxLength": 100
678
+ },
679
+ "version": {
680
+ "type": "string",
681
+ "minLength": 1,
682
+ "maxLength": 100
683
+ },
684
+ "runtimeVersion": {
685
+ "type": "string",
686
+ "minLength": 1,
687
+ "maxLength": 100
688
+ }
689
+ },
690
+ "required": [
691
+ "name",
692
+ "version",
693
+ "runtimeVersion"
694
+ ],
695
+ "additionalProperties": false
696
+ },
697
+ "features": {
698
+ "type": "array",
699
+ "items": {
700
+ "type": "string",
701
+ "enum": [
702
+ "thread-management",
703
+ "snapshots",
704
+ "turns",
705
+ "approvals",
706
+ "tool-streaming",
707
+ "reasoning-summary",
708
+ "operation-projection",
709
+ "process-local-sequence"
710
+ ]
711
+ }
712
+ },
713
+ "limits": {
714
+ "readOnly": true,
715
+ "type": "object",
716
+ "properties": {
717
+ "maxFrameBytes": {
718
+ "type": "integer",
719
+ "exclusiveMinimum": 0,
720
+ "maximum": 9007199254740991
721
+ },
722
+ "maxPageSize": {
723
+ "type": "integer",
724
+ "exclusiveMinimum": 0,
725
+ "maximum": 9007199254740991
726
+ },
727
+ "eventReplay": {
728
+ "type": "boolean",
729
+ "const": false
730
+ },
731
+ "idempotencyCacheEntries": {
732
+ "type": "integer",
733
+ "exclusiveMinimum": 0,
734
+ "maximum": 9007199254740991
735
+ }
736
+ },
737
+ "required": [
738
+ "maxFrameBytes",
739
+ "maxPageSize",
740
+ "eventReplay",
741
+ "idempotencyCacheEntries"
742
+ ],
743
+ "additionalProperties": false
744
+ }
745
+ },
746
+ "required": [
747
+ "protocolVersion",
748
+ "runtimeInstanceId",
749
+ "server",
750
+ "features",
751
+ "limits"
752
+ ],
753
+ "additionalProperties": false
754
+ },
755
+ "threadListParams": {
756
+ "readOnly": true,
757
+ "type": "object",
758
+ "properties": {
759
+ "cursor": {
760
+ "type": "string",
761
+ "pattern": "^\\d+$"
762
+ },
763
+ "limit": {
764
+ "default": 100,
765
+ "type": "integer",
766
+ "minimum": 1,
767
+ "maximum": 500
768
+ }
769
+ },
770
+ "required": [
771
+ "limit"
772
+ ],
773
+ "additionalProperties": false
774
+ },
775
+ "threadListResult": {
776
+ "readOnly": true,
777
+ "type": "object",
778
+ "properties": {
779
+ "items": {
780
+ "type": "array",
781
+ "items": {
782
+ "readOnly": true,
783
+ "type": "object",
784
+ "properties": {
785
+ "id": {
786
+ "type": "string",
787
+ "format": "uuid",
788
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
789
+ },
790
+ "title": {
791
+ "type": "string"
792
+ },
793
+ "model": {
794
+ "type": "string"
795
+ },
796
+ "createdAt": {
797
+ "type": "string",
798
+ "format": "date-time",
799
+ "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|([+-]\\d{2}:\\d{2})))$"
800
+ },
801
+ "updatedAt": {
802
+ "type": "string",
803
+ "format": "date-time",
804
+ "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|([+-]\\d{2}:\\d{2})))$"
805
+ },
806
+ "messageCount": {
807
+ "type": "integer",
808
+ "minimum": 0,
809
+ "maximum": 9007199254740991
810
+ }
811
+ },
812
+ "required": [
813
+ "id",
814
+ "createdAt",
815
+ "updatedAt",
816
+ "messageCount"
817
+ ],
818
+ "additionalProperties": false
819
+ }
820
+ },
821
+ "nextCursor": {
822
+ "anyOf": [
823
+ {
824
+ "type": "string",
825
+ "pattern": "^\\d+$"
826
+ },
827
+ {
828
+ "type": "null"
829
+ }
830
+ ]
831
+ }
832
+ },
833
+ "required": [
834
+ "items",
835
+ "nextCursor"
836
+ ],
837
+ "additionalProperties": false
838
+ },
839
+ "threadCreateParams": {
840
+ "readOnly": true,
841
+ "type": "object",
842
+ "properties": {
843
+ "requestId": {
844
+ "type": "string",
845
+ "format": "uuid",
846
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
847
+ },
848
+ "title": {
849
+ "type": "string",
850
+ "minLength": 1,
851
+ "maxLength": 200
852
+ }
853
+ },
854
+ "required": [
855
+ "requestId"
856
+ ],
857
+ "additionalProperties": false
858
+ },
859
+ "threadCreateResult": {
860
+ "readOnly": true,
861
+ "type": "object",
862
+ "properties": {
863
+ "thread": {
864
+ "readOnly": true,
865
+ "type": "object",
866
+ "properties": {
867
+ "id": {
868
+ "type": "string",
869
+ "format": "uuid",
870
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
871
+ },
872
+ "title": {
873
+ "type": "string"
874
+ },
875
+ "model": {
876
+ "type": "string"
877
+ },
878
+ "createdAt": {
879
+ "type": "string",
880
+ "format": "date-time",
881
+ "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|([+-]\\d{2}:\\d{2})))$"
882
+ },
883
+ "updatedAt": {
884
+ "type": "string",
885
+ "format": "date-time",
886
+ "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|([+-]\\d{2}:\\d{2})))$"
887
+ },
888
+ "messageCount": {
889
+ "type": "integer",
890
+ "minimum": 0,
891
+ "maximum": 9007199254740991
892
+ }
893
+ },
894
+ "required": [
895
+ "id",
896
+ "createdAt",
897
+ "updatedAt",
898
+ "messageCount"
899
+ ],
900
+ "additionalProperties": false
901
+ }
902
+ },
903
+ "required": [
904
+ "thread"
905
+ ],
906
+ "additionalProperties": false
907
+ },
908
+ "threadOpenParams": {
909
+ "readOnly": true,
910
+ "type": "object",
911
+ "properties": {
912
+ "threadId": {
913
+ "type": "string",
914
+ "format": "uuid",
915
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
916
+ }
917
+ },
918
+ "required": [
919
+ "threadId"
920
+ ],
921
+ "additionalProperties": false
922
+ },
923
+ "threadOpenResult": {
924
+ "readOnly": true,
925
+ "type": "object",
926
+ "properties": {
927
+ "thread": {
928
+ "readOnly": true,
929
+ "type": "object",
930
+ "properties": {
931
+ "id": {
932
+ "type": "string",
933
+ "format": "uuid",
934
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
935
+ },
936
+ "title": {
937
+ "type": "string"
938
+ },
939
+ "model": {
940
+ "type": "string"
941
+ },
942
+ "createdAt": {
943
+ "type": "string",
944
+ "format": "date-time",
945
+ "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|([+-]\\d{2}:\\d{2})))$"
946
+ },
947
+ "updatedAt": {
948
+ "type": "string",
949
+ "format": "date-time",
950
+ "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|([+-]\\d{2}:\\d{2})))$"
951
+ },
952
+ "messageCount": {
953
+ "type": "integer",
954
+ "minimum": 0,
955
+ "maximum": 9007199254740991
956
+ }
957
+ },
958
+ "required": [
959
+ "id",
960
+ "createdAt",
961
+ "updatedAt",
962
+ "messageCount"
963
+ ],
964
+ "additionalProperties": false
965
+ },
966
+ "messages": {
967
+ "readOnly": true,
968
+ "type": "object",
969
+ "properties": {
970
+ "items": {
971
+ "type": "array",
972
+ "items": {
973
+ "readOnly": true,
974
+ "type": "object",
975
+ "properties": {
976
+ "sequence": {
977
+ "type": "integer",
978
+ "minimum": 0,
979
+ "maximum": 9007199254740991
980
+ },
981
+ "role": {
982
+ "type": "string",
983
+ "enum": [
984
+ "user",
985
+ "assistant"
986
+ ]
987
+ },
988
+ "createdAt": {
989
+ "type": "string",
990
+ "format": "date-time",
991
+ "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|([+-]\\d{2}:\\d{2})))$"
992
+ },
993
+ "parts": {
994
+ "type": "array",
995
+ "items": {
996
+ "readOnly": true,
997
+ "type": "object",
998
+ "properties": {
999
+ "type": {
1000
+ "type": "string",
1001
+ "const": "text"
1002
+ },
1003
+ "text": {
1004
+ "type": "string"
1005
+ }
1006
+ },
1007
+ "required": [
1008
+ "type",
1009
+ "text"
1010
+ ],
1011
+ "additionalProperties": false
1012
+ }
1013
+ }
1014
+ },
1015
+ "required": [
1016
+ "sequence",
1017
+ "role",
1018
+ "createdAt",
1019
+ "parts"
1020
+ ],
1021
+ "additionalProperties": false
1022
+ }
1023
+ },
1024
+ "nextBeforeSequence": {
1025
+ "anyOf": [
1026
+ {
1027
+ "type": "integer",
1028
+ "minimum": 0,
1029
+ "maximum": 9007199254740991
1030
+ },
1031
+ {
1032
+ "type": "null"
1033
+ }
1034
+ ]
1035
+ }
1036
+ },
1037
+ "required": [
1038
+ "items",
1039
+ "nextBeforeSequence"
1040
+ ],
1041
+ "additionalProperties": false
1042
+ },
1043
+ "operations": {
1044
+ "readOnly": true,
1045
+ "type": "object",
1046
+ "properties": {
1047
+ "items": {
1048
+ "type": "array",
1049
+ "items": {
1050
+ "readOnly": true,
1051
+ "type": "object",
1052
+ "properties": {
1053
+ "id": {
1054
+ "type": "string",
1055
+ "format": "uuid",
1056
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1057
+ },
1058
+ "sequence": {
1059
+ "type": "integer",
1060
+ "minimum": 0,
1061
+ "maximum": 9007199254740991
1062
+ },
1063
+ "toolCallId": {
1064
+ "type": "string",
1065
+ "minLength": 1
1066
+ },
1067
+ "agentName": {
1068
+ "type": "string",
1069
+ "minLength": 1
1070
+ },
1071
+ "toolName": {
1072
+ "type": "string",
1073
+ "minLength": 1
1074
+ },
1075
+ "createdAt": {
1076
+ "type": "string",
1077
+ "format": "date-time",
1078
+ "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|([+-]\\d{2}:\\d{2})))$"
1079
+ },
1080
+ "outcome": {
1081
+ "readOnly": true,
1082
+ "type": "object",
1083
+ "properties": {
1084
+ "kind": {
1085
+ "type": "string",
1086
+ "enum": [
1087
+ "success",
1088
+ "user_rejected",
1089
+ "policy_denied",
1090
+ "invalid_input",
1091
+ "cancelled",
1092
+ "tool_failed"
1093
+ ]
1094
+ },
1095
+ "reason": {
1096
+ "type": "string"
1097
+ }
1098
+ },
1099
+ "required": [
1100
+ "kind"
1101
+ ],
1102
+ "additionalProperties": false
1103
+ },
1104
+ "display": {
1105
+ "$ref": "#/$defs/sharedSchema0"
1106
+ }
1107
+ },
1108
+ "required": [
1109
+ "id",
1110
+ "sequence",
1111
+ "toolCallId",
1112
+ "agentName",
1113
+ "toolName",
1114
+ "createdAt",
1115
+ "outcome",
1116
+ "display"
1117
+ ],
1118
+ "additionalProperties": false
1119
+ }
1120
+ },
1121
+ "nextBeforeSequence": {
1122
+ "anyOf": [
1123
+ {
1124
+ "type": "integer",
1125
+ "minimum": 0,
1126
+ "maximum": 9007199254740991
1127
+ },
1128
+ {
1129
+ "type": "null"
1130
+ }
1131
+ ]
1132
+ }
1133
+ },
1134
+ "required": [
1135
+ "items",
1136
+ "nextBeforeSequence"
1137
+ ],
1138
+ "additionalProperties": false
1139
+ },
1140
+ "activeTurn": {
1141
+ "readOnly": true,
1142
+ "type": "object",
1143
+ "properties": {
1144
+ "id": {
1145
+ "type": "string",
1146
+ "format": "uuid",
1147
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1148
+ },
1149
+ "status": {
1150
+ "type": "string",
1151
+ "enum": [
1152
+ "running",
1153
+ "cancelling"
1154
+ ]
1155
+ },
1156
+ "startedAt": {
1157
+ "type": "string",
1158
+ "format": "date-time",
1159
+ "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|([+-]\\d{2}:\\d{2})))$"
1160
+ }
1161
+ },
1162
+ "required": [
1163
+ "id",
1164
+ "status",
1165
+ "startedAt"
1166
+ ],
1167
+ "additionalProperties": false
1168
+ },
1169
+ "pendingApprovals": {
1170
+ "type": "array",
1171
+ "items": {
1172
+ "readOnly": true,
1173
+ "type": "object",
1174
+ "properties": {
1175
+ "id": {
1176
+ "type": "string",
1177
+ "format": "uuid",
1178
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1179
+ },
1180
+ "turnId": {
1181
+ "type": "string",
1182
+ "format": "uuid",
1183
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1184
+ },
1185
+ "agentName": {
1186
+ "type": "string",
1187
+ "minLength": 1
1188
+ },
1189
+ "toolName": {
1190
+ "type": "string",
1191
+ "minLength": 1
1192
+ },
1193
+ "preview": {
1194
+ "$ref": "#/$defs/sharedSchema0"
1195
+ },
1196
+ "reason": {
1197
+ "type": "string"
1198
+ }
1199
+ },
1200
+ "required": [
1201
+ "id",
1202
+ "turnId",
1203
+ "agentName",
1204
+ "toolName",
1205
+ "preview"
1206
+ ],
1207
+ "additionalProperties": false
1208
+ }
1209
+ },
1210
+ "transcriptCompleteness": {
1211
+ "type": "string",
1212
+ "enum": [
1213
+ "complete",
1214
+ "legacy_snapshot"
1215
+ ]
1216
+ }
1217
+ },
1218
+ "required": [
1219
+ "thread",
1220
+ "messages",
1221
+ "operations",
1222
+ "pendingApprovals",
1223
+ "transcriptCompleteness"
1224
+ ],
1225
+ "additionalProperties": false
1226
+ },
1227
+ "threadSnapshotParams": {
1228
+ "readOnly": true,
1229
+ "type": "object",
1230
+ "properties": {
1231
+ "threadId": {
1232
+ "type": "string",
1233
+ "format": "uuid",
1234
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1235
+ },
1236
+ "messageBeforeSequence": {
1237
+ "type": "integer",
1238
+ "minimum": 0,
1239
+ "maximum": 9007199254740991
1240
+ },
1241
+ "operationBeforeSequence": {
1242
+ "type": "integer",
1243
+ "minimum": 0,
1244
+ "maximum": 9007199254740991
1245
+ },
1246
+ "limit": {
1247
+ "default": 100,
1248
+ "type": "integer",
1249
+ "minimum": 1,
1250
+ "maximum": 500
1251
+ }
1252
+ },
1253
+ "required": [
1254
+ "threadId",
1255
+ "limit"
1256
+ ],
1257
+ "additionalProperties": false
1258
+ },
1259
+ "threadSnapshotResult": {
1260
+ "readOnly": true,
1261
+ "type": "object",
1262
+ "properties": {
1263
+ "thread": {
1264
+ "readOnly": true,
1265
+ "type": "object",
1266
+ "properties": {
1267
+ "id": {
1268
+ "type": "string",
1269
+ "format": "uuid",
1270
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1271
+ },
1272
+ "title": {
1273
+ "type": "string"
1274
+ },
1275
+ "model": {
1276
+ "type": "string"
1277
+ },
1278
+ "createdAt": {
1279
+ "type": "string",
1280
+ "format": "date-time",
1281
+ "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|([+-]\\d{2}:\\d{2})))$"
1282
+ },
1283
+ "updatedAt": {
1284
+ "type": "string",
1285
+ "format": "date-time",
1286
+ "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|([+-]\\d{2}:\\d{2})))$"
1287
+ },
1288
+ "messageCount": {
1289
+ "type": "integer",
1290
+ "minimum": 0,
1291
+ "maximum": 9007199254740991
1292
+ }
1293
+ },
1294
+ "required": [
1295
+ "id",
1296
+ "createdAt",
1297
+ "updatedAt",
1298
+ "messageCount"
1299
+ ],
1300
+ "additionalProperties": false
1301
+ },
1302
+ "messages": {
1303
+ "readOnly": true,
1304
+ "type": "object",
1305
+ "properties": {
1306
+ "items": {
1307
+ "type": "array",
1308
+ "items": {
1309
+ "readOnly": true,
1310
+ "type": "object",
1311
+ "properties": {
1312
+ "sequence": {
1313
+ "type": "integer",
1314
+ "minimum": 0,
1315
+ "maximum": 9007199254740991
1316
+ },
1317
+ "role": {
1318
+ "type": "string",
1319
+ "enum": [
1320
+ "user",
1321
+ "assistant"
1322
+ ]
1323
+ },
1324
+ "createdAt": {
1325
+ "type": "string",
1326
+ "format": "date-time",
1327
+ "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|([+-]\\d{2}:\\d{2})))$"
1328
+ },
1329
+ "parts": {
1330
+ "type": "array",
1331
+ "items": {
1332
+ "readOnly": true,
1333
+ "type": "object",
1334
+ "properties": {
1335
+ "type": {
1336
+ "type": "string",
1337
+ "const": "text"
1338
+ },
1339
+ "text": {
1340
+ "type": "string"
1341
+ }
1342
+ },
1343
+ "required": [
1344
+ "type",
1345
+ "text"
1346
+ ],
1347
+ "additionalProperties": false
1348
+ }
1349
+ }
1350
+ },
1351
+ "required": [
1352
+ "sequence",
1353
+ "role",
1354
+ "createdAt",
1355
+ "parts"
1356
+ ],
1357
+ "additionalProperties": false
1358
+ }
1359
+ },
1360
+ "nextBeforeSequence": {
1361
+ "anyOf": [
1362
+ {
1363
+ "type": "integer",
1364
+ "minimum": 0,
1365
+ "maximum": 9007199254740991
1366
+ },
1367
+ {
1368
+ "type": "null"
1369
+ }
1370
+ ]
1371
+ }
1372
+ },
1373
+ "required": [
1374
+ "items",
1375
+ "nextBeforeSequence"
1376
+ ],
1377
+ "additionalProperties": false
1378
+ },
1379
+ "operations": {
1380
+ "readOnly": true,
1381
+ "type": "object",
1382
+ "properties": {
1383
+ "items": {
1384
+ "type": "array",
1385
+ "items": {
1386
+ "readOnly": true,
1387
+ "type": "object",
1388
+ "properties": {
1389
+ "id": {
1390
+ "type": "string",
1391
+ "format": "uuid",
1392
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1393
+ },
1394
+ "sequence": {
1395
+ "type": "integer",
1396
+ "minimum": 0,
1397
+ "maximum": 9007199254740991
1398
+ },
1399
+ "toolCallId": {
1400
+ "type": "string",
1401
+ "minLength": 1
1402
+ },
1403
+ "agentName": {
1404
+ "type": "string",
1405
+ "minLength": 1
1406
+ },
1407
+ "toolName": {
1408
+ "type": "string",
1409
+ "minLength": 1
1410
+ },
1411
+ "createdAt": {
1412
+ "type": "string",
1413
+ "format": "date-time",
1414
+ "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|([+-]\\d{2}:\\d{2})))$"
1415
+ },
1416
+ "outcome": {
1417
+ "readOnly": true,
1418
+ "type": "object",
1419
+ "properties": {
1420
+ "kind": {
1421
+ "type": "string",
1422
+ "enum": [
1423
+ "success",
1424
+ "user_rejected",
1425
+ "policy_denied",
1426
+ "invalid_input",
1427
+ "cancelled",
1428
+ "tool_failed"
1429
+ ]
1430
+ },
1431
+ "reason": {
1432
+ "type": "string"
1433
+ }
1434
+ },
1435
+ "required": [
1436
+ "kind"
1437
+ ],
1438
+ "additionalProperties": false
1439
+ },
1440
+ "display": {
1441
+ "$ref": "#/$defs/sharedSchema0"
1442
+ }
1443
+ },
1444
+ "required": [
1445
+ "id",
1446
+ "sequence",
1447
+ "toolCallId",
1448
+ "agentName",
1449
+ "toolName",
1450
+ "createdAt",
1451
+ "outcome",
1452
+ "display"
1453
+ ],
1454
+ "additionalProperties": false
1455
+ }
1456
+ },
1457
+ "nextBeforeSequence": {
1458
+ "anyOf": [
1459
+ {
1460
+ "type": "integer",
1461
+ "minimum": 0,
1462
+ "maximum": 9007199254740991
1463
+ },
1464
+ {
1465
+ "type": "null"
1466
+ }
1467
+ ]
1468
+ }
1469
+ },
1470
+ "required": [
1471
+ "items",
1472
+ "nextBeforeSequence"
1473
+ ],
1474
+ "additionalProperties": false
1475
+ },
1476
+ "activeTurn": {
1477
+ "readOnly": true,
1478
+ "type": "object",
1479
+ "properties": {
1480
+ "id": {
1481
+ "type": "string",
1482
+ "format": "uuid",
1483
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1484
+ },
1485
+ "status": {
1486
+ "type": "string",
1487
+ "enum": [
1488
+ "running",
1489
+ "cancelling"
1490
+ ]
1491
+ },
1492
+ "startedAt": {
1493
+ "type": "string",
1494
+ "format": "date-time",
1495
+ "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|([+-]\\d{2}:\\d{2})))$"
1496
+ }
1497
+ },
1498
+ "required": [
1499
+ "id",
1500
+ "status",
1501
+ "startedAt"
1502
+ ],
1503
+ "additionalProperties": false
1504
+ },
1505
+ "pendingApprovals": {
1506
+ "type": "array",
1507
+ "items": {
1508
+ "readOnly": true,
1509
+ "type": "object",
1510
+ "properties": {
1511
+ "id": {
1512
+ "type": "string",
1513
+ "format": "uuid",
1514
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1515
+ },
1516
+ "turnId": {
1517
+ "type": "string",
1518
+ "format": "uuid",
1519
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1520
+ },
1521
+ "agentName": {
1522
+ "type": "string",
1523
+ "minLength": 1
1524
+ },
1525
+ "toolName": {
1526
+ "type": "string",
1527
+ "minLength": 1
1528
+ },
1529
+ "preview": {
1530
+ "$ref": "#/$defs/sharedSchema0"
1531
+ },
1532
+ "reason": {
1533
+ "type": "string"
1534
+ }
1535
+ },
1536
+ "required": [
1537
+ "id",
1538
+ "turnId",
1539
+ "agentName",
1540
+ "toolName",
1541
+ "preview"
1542
+ ],
1543
+ "additionalProperties": false
1544
+ }
1545
+ },
1546
+ "transcriptCompleteness": {
1547
+ "type": "string",
1548
+ "enum": [
1549
+ "complete",
1550
+ "legacy_snapshot"
1551
+ ]
1552
+ }
1553
+ },
1554
+ "required": [
1555
+ "thread",
1556
+ "messages",
1557
+ "operations",
1558
+ "pendingApprovals",
1559
+ "transcriptCompleteness"
1560
+ ],
1561
+ "additionalProperties": false
1562
+ },
1563
+ "threadRenameParams": {
1564
+ "readOnly": true,
1565
+ "type": "object",
1566
+ "properties": {
1567
+ "requestId": {
1568
+ "type": "string",
1569
+ "format": "uuid",
1570
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1571
+ },
1572
+ "threadId": {
1573
+ "type": "string",
1574
+ "format": "uuid",
1575
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1576
+ },
1577
+ "title": {
1578
+ "type": "string",
1579
+ "minLength": 1,
1580
+ "maxLength": 200
1581
+ }
1582
+ },
1583
+ "required": [
1584
+ "requestId",
1585
+ "threadId",
1586
+ "title"
1587
+ ],
1588
+ "additionalProperties": false
1589
+ },
1590
+ "threadRenameResult": {
1591
+ "readOnly": true,
1592
+ "type": "object",
1593
+ "properties": {
1594
+ "thread": {
1595
+ "readOnly": true,
1596
+ "type": "object",
1597
+ "properties": {
1598
+ "id": {
1599
+ "type": "string",
1600
+ "format": "uuid",
1601
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1602
+ },
1603
+ "title": {
1604
+ "type": "string"
1605
+ },
1606
+ "model": {
1607
+ "type": "string"
1608
+ },
1609
+ "createdAt": {
1610
+ "type": "string",
1611
+ "format": "date-time",
1612
+ "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|([+-]\\d{2}:\\d{2})))$"
1613
+ },
1614
+ "updatedAt": {
1615
+ "type": "string",
1616
+ "format": "date-time",
1617
+ "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|([+-]\\d{2}:\\d{2})))$"
1618
+ },
1619
+ "messageCount": {
1620
+ "type": "integer",
1621
+ "minimum": 0,
1622
+ "maximum": 9007199254740991
1623
+ }
1624
+ },
1625
+ "required": [
1626
+ "id",
1627
+ "createdAt",
1628
+ "updatedAt",
1629
+ "messageCount"
1630
+ ],
1631
+ "additionalProperties": false
1632
+ }
1633
+ },
1634
+ "required": [
1635
+ "thread"
1636
+ ],
1637
+ "additionalProperties": false
1638
+ },
1639
+ "threadDeleteParams": {
1640
+ "readOnly": true,
1641
+ "type": "object",
1642
+ "properties": {
1643
+ "requestId": {
1644
+ "type": "string",
1645
+ "format": "uuid",
1646
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1647
+ },
1648
+ "threadId": {
1649
+ "type": "string",
1650
+ "format": "uuid",
1651
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1652
+ }
1653
+ },
1654
+ "required": [
1655
+ "requestId",
1656
+ "threadId"
1657
+ ],
1658
+ "additionalProperties": false
1659
+ },
1660
+ "threadDeleteResult": {
1661
+ "readOnly": true,
1662
+ "type": "object",
1663
+ "properties": {
1664
+ "deleted": {
1665
+ "type": "boolean",
1666
+ "const": true
1667
+ }
1668
+ },
1669
+ "required": [
1670
+ "deleted"
1671
+ ],
1672
+ "additionalProperties": false
1673
+ },
1674
+ "threadDetachParams": {
1675
+ "readOnly": true,
1676
+ "type": "object",
1677
+ "properties": {
1678
+ "requestId": {
1679
+ "type": "string",
1680
+ "format": "uuid",
1681
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1682
+ },
1683
+ "threadId": {
1684
+ "type": "string",
1685
+ "format": "uuid",
1686
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1687
+ }
1688
+ },
1689
+ "required": [
1690
+ "requestId",
1691
+ "threadId"
1692
+ ],
1693
+ "additionalProperties": false
1694
+ },
1695
+ "threadDetachResult": {
1696
+ "readOnly": true,
1697
+ "type": "object",
1698
+ "properties": {
1699
+ "detached": {
1700
+ "type": "boolean"
1701
+ }
1702
+ },
1703
+ "required": [
1704
+ "detached"
1705
+ ],
1706
+ "additionalProperties": false
1707
+ },
1708
+ "threadCapabilitiesParams": {
1709
+ "readOnly": true,
1710
+ "type": "object",
1711
+ "properties": {
1712
+ "threadId": {
1713
+ "type": "string",
1714
+ "format": "uuid",
1715
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1716
+ }
1717
+ },
1718
+ "required": [
1719
+ "threadId"
1720
+ ],
1721
+ "additionalProperties": false
1722
+ },
1723
+ "threadCapabilitiesResult": {
1724
+ "readOnly": true,
1725
+ "type": "object",
1726
+ "properties": {
1727
+ "manifest": {
1728
+ "$ref": "#/$defs/sharedSchema0"
1729
+ }
1730
+ },
1731
+ "required": [
1732
+ "manifest"
1733
+ ],
1734
+ "additionalProperties": false
1735
+ },
1736
+ "turnStartParams": {
1737
+ "readOnly": true,
1738
+ "type": "object",
1739
+ "properties": {
1740
+ "requestId": {
1741
+ "type": "string",
1742
+ "format": "uuid",
1743
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1744
+ },
1745
+ "threadId": {
1746
+ "type": "string",
1747
+ "format": "uuid",
1748
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1749
+ },
1750
+ "turnId": {
1751
+ "type": "string",
1752
+ "format": "uuid",
1753
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1754
+ },
1755
+ "input": {
1756
+ "readOnly": true,
1757
+ "type": "object",
1758
+ "properties": {
1759
+ "text": {
1760
+ "type": "string",
1761
+ "minLength": 1
1762
+ }
1763
+ },
1764
+ "required": [
1765
+ "text"
1766
+ ],
1767
+ "additionalProperties": false
1768
+ }
1769
+ },
1770
+ "required": [
1771
+ "requestId",
1772
+ "threadId",
1773
+ "turnId",
1774
+ "input"
1775
+ ],
1776
+ "additionalProperties": false
1777
+ },
1778
+ "turnStartResult": {
1779
+ "readOnly": true,
1780
+ "type": "object",
1781
+ "properties": {
1782
+ "accepted": {
1783
+ "type": "boolean",
1784
+ "const": true
1785
+ },
1786
+ "turnId": {
1787
+ "type": "string",
1788
+ "format": "uuid",
1789
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1790
+ }
1791
+ },
1792
+ "required": [
1793
+ "accepted",
1794
+ "turnId"
1795
+ ],
1796
+ "additionalProperties": false
1797
+ },
1798
+ "turnCancelParams": {
1799
+ "readOnly": true,
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "requestId": {
1803
+ "type": "string",
1804
+ "format": "uuid",
1805
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1806
+ },
1807
+ "threadId": {
1808
+ "type": "string",
1809
+ "format": "uuid",
1810
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1811
+ },
1812
+ "turnId": {
1813
+ "type": "string",
1814
+ "format": "uuid",
1815
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1816
+ }
1817
+ },
1818
+ "required": [
1819
+ "requestId",
1820
+ "threadId",
1821
+ "turnId"
1822
+ ],
1823
+ "additionalProperties": false
1824
+ },
1825
+ "turnCancelResult": {
1826
+ "readOnly": true,
1827
+ "type": "object",
1828
+ "properties": {
1829
+ "cancelling": {
1830
+ "type": "boolean"
1831
+ }
1832
+ },
1833
+ "required": [
1834
+ "cancelling"
1835
+ ],
1836
+ "additionalProperties": false
1837
+ },
1838
+ "approvalRespondParams": {
1839
+ "readOnly": true,
1840
+ "type": "object",
1841
+ "properties": {
1842
+ "requestId": {
1843
+ "type": "string",
1844
+ "format": "uuid",
1845
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1846
+ },
1847
+ "threadId": {
1848
+ "type": "string",
1849
+ "format": "uuid",
1850
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1851
+ },
1852
+ "turnId": {
1853
+ "type": "string",
1854
+ "format": "uuid",
1855
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1856
+ },
1857
+ "approvalId": {
1858
+ "type": "string",
1859
+ "format": "uuid",
1860
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1861
+ },
1862
+ "decision": {
1863
+ "type": "string",
1864
+ "enum": [
1865
+ "approve",
1866
+ "reject"
1867
+ ]
1868
+ },
1869
+ "reason": {
1870
+ "type": "string",
1871
+ "minLength": 1
1872
+ }
1873
+ },
1874
+ "required": [
1875
+ "requestId",
1876
+ "threadId",
1877
+ "turnId",
1878
+ "approvalId",
1879
+ "decision"
1880
+ ],
1881
+ "additionalProperties": false
1882
+ },
1883
+ "approvalRespondResult": {
1884
+ "readOnly": true,
1885
+ "type": "object",
1886
+ "properties": {
1887
+ "resolved": {
1888
+ "type": "boolean",
1889
+ "const": true
1890
+ }
1891
+ },
1892
+ "required": [
1893
+ "resolved"
1894
+ ],
1895
+ "additionalProperties": false
1896
+ },
1897
+ "operationGetParams": {
1898
+ "readOnly": true,
1899
+ "type": "object",
1900
+ "properties": {
1901
+ "threadId": {
1902
+ "type": "string",
1903
+ "format": "uuid",
1904
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1905
+ },
1906
+ "operationId": {
1907
+ "type": "string",
1908
+ "format": "uuid",
1909
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1910
+ }
1911
+ },
1912
+ "required": [
1913
+ "threadId",
1914
+ "operationId"
1915
+ ],
1916
+ "additionalProperties": false
1917
+ },
1918
+ "operationGetResult": {
1919
+ "readOnly": true,
1920
+ "type": "object",
1921
+ "properties": {
1922
+ "operation": {
1923
+ "anyOf": [
1924
+ {
1925
+ "readOnly": true,
1926
+ "type": "object",
1927
+ "properties": {
1928
+ "id": {
1929
+ "type": "string",
1930
+ "format": "uuid",
1931
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
1932
+ },
1933
+ "sequence": {
1934
+ "type": "integer",
1935
+ "minimum": 0,
1936
+ "maximum": 9007199254740991
1937
+ },
1938
+ "toolCallId": {
1939
+ "type": "string",
1940
+ "minLength": 1
1941
+ },
1942
+ "agentName": {
1943
+ "type": "string",
1944
+ "minLength": 1
1945
+ },
1946
+ "toolName": {
1947
+ "type": "string",
1948
+ "minLength": 1
1949
+ },
1950
+ "createdAt": {
1951
+ "type": "string",
1952
+ "format": "date-time",
1953
+ "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|([+-]\\d{2}:\\d{2})))$"
1954
+ },
1955
+ "outcome": {
1956
+ "readOnly": true,
1957
+ "type": "object",
1958
+ "properties": {
1959
+ "kind": {
1960
+ "type": "string",
1961
+ "enum": [
1962
+ "success",
1963
+ "user_rejected",
1964
+ "policy_denied",
1965
+ "invalid_input",
1966
+ "cancelled",
1967
+ "tool_failed"
1968
+ ]
1969
+ },
1970
+ "reason": {
1971
+ "type": "string"
1972
+ }
1973
+ },
1974
+ "required": [
1975
+ "kind"
1976
+ ],
1977
+ "additionalProperties": false
1978
+ },
1979
+ "display": {
1980
+ "$ref": "#/$defs/sharedSchema0"
1981
+ }
1982
+ },
1983
+ "required": [
1984
+ "id",
1985
+ "sequence",
1986
+ "toolCallId",
1987
+ "agentName",
1988
+ "toolName",
1989
+ "createdAt",
1990
+ "outcome",
1991
+ "display"
1992
+ ],
1993
+ "additionalProperties": false
1994
+ },
1995
+ {
1996
+ "type": "null"
1997
+ }
1998
+ ]
1999
+ }
2000
+ },
2001
+ "required": [
2002
+ "operation"
2003
+ ],
2004
+ "additionalProperties": false
2005
+ },
2006
+ "approvalRequestParams": {
2007
+ "readOnly": true,
2008
+ "type": "object",
2009
+ "properties": {
2010
+ "threadId": {
2011
+ "type": "string",
2012
+ "format": "uuid",
2013
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
2014
+ },
2015
+ "approval": {
2016
+ "readOnly": true,
2017
+ "type": "object",
2018
+ "properties": {
2019
+ "id": {
2020
+ "type": "string",
2021
+ "format": "uuid",
2022
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
2023
+ },
2024
+ "turnId": {
2025
+ "type": "string",
2026
+ "format": "uuid",
2027
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
2028
+ },
2029
+ "agentName": {
2030
+ "type": "string",
2031
+ "minLength": 1
2032
+ },
2033
+ "toolName": {
2034
+ "type": "string",
2035
+ "minLength": 1
2036
+ },
2037
+ "preview": {
2038
+ "$ref": "#/$defs/sharedSchema0"
2039
+ },
2040
+ "reason": {
2041
+ "type": "string"
2042
+ }
2043
+ },
2044
+ "required": [
2045
+ "id",
2046
+ "turnId",
2047
+ "agentName",
2048
+ "toolName",
2049
+ "preview"
2050
+ ],
2051
+ "additionalProperties": false
2052
+ },
2053
+ "expiresAt": {
2054
+ "type": "string",
2055
+ "format": "date-time",
2056
+ "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|([+-]\\d{2}:\\d{2})))$"
2057
+ }
2058
+ },
2059
+ "required": [
2060
+ "threadId",
2061
+ "approval"
2062
+ ],
2063
+ "additionalProperties": false
2064
+ },
2065
+ "approvalRequestResult": {
2066
+ "anyOf": [
2067
+ {
2068
+ "readOnly": true,
2069
+ "type": "object",
2070
+ "properties": {
2071
+ "decision": {
2072
+ "type": "string",
2073
+ "const": "approve"
2074
+ }
2075
+ },
2076
+ "required": [
2077
+ "decision"
2078
+ ],
2079
+ "additionalProperties": false
2080
+ },
2081
+ {
2082
+ "readOnly": true,
2083
+ "type": "object",
2084
+ "properties": {
2085
+ "decision": {
2086
+ "type": "string",
2087
+ "const": "reject"
2088
+ },
2089
+ "reason": {
2090
+ "type": "string",
2091
+ "minLength": 1
2092
+ }
2093
+ },
2094
+ "required": [
2095
+ "decision"
2096
+ ],
2097
+ "additionalProperties": false
2098
+ }
2099
+ ]
2100
+ },
2101
+ "sharedSchema0": {
2102
+ "anyOf": [
2103
+ {
2104
+ "type": "string"
2105
+ },
2106
+ {
2107
+ "type": "number"
2108
+ },
2109
+ {
2110
+ "type": "boolean"
2111
+ },
2112
+ {
2113
+ "type": "null"
2114
+ },
2115
+ {
2116
+ "type": "array",
2117
+ "items": {
2118
+ "$ref": "#/$defs/sharedSchema0"
2119
+ }
2120
+ },
2121
+ {
2122
+ "type": "object",
2123
+ "propertyNames": {
2124
+ "type": "string"
2125
+ },
2126
+ "additionalProperties": {
2127
+ "$ref": "#/$defs/sharedSchema0"
2128
+ }
2129
+ }
2130
+ ]
2131
+ },
2132
+ "initializeRequest": {
2133
+ "type": "object",
2134
+ "properties": {
2135
+ "jsonrpc": {
2136
+ "const": "2.0"
2137
+ },
2138
+ "id": {
2139
+ "$ref": "#/$defs/jsonRpcId"
2140
+ },
2141
+ "method": {
2142
+ "const": "initialize"
2143
+ },
2144
+ "params": {
2145
+ "$ref": "#/$defs/initializeParams"
2146
+ }
2147
+ },
2148
+ "required": [
2149
+ "jsonrpc",
2150
+ "id",
2151
+ "method",
2152
+ "params"
2153
+ ],
2154
+ "additionalProperties": false
2155
+ },
2156
+ "threadListRequest": {
2157
+ "type": "object",
2158
+ "properties": {
2159
+ "jsonrpc": {
2160
+ "const": "2.0"
2161
+ },
2162
+ "id": {
2163
+ "$ref": "#/$defs/jsonRpcId"
2164
+ },
2165
+ "method": {
2166
+ "const": "thread.list"
2167
+ },
2168
+ "params": {
2169
+ "$ref": "#/$defs/threadListParams"
2170
+ }
2171
+ },
2172
+ "required": [
2173
+ "jsonrpc",
2174
+ "id",
2175
+ "method",
2176
+ "params"
2177
+ ],
2178
+ "additionalProperties": false
2179
+ },
2180
+ "threadCreateRequest": {
2181
+ "type": "object",
2182
+ "properties": {
2183
+ "jsonrpc": {
2184
+ "const": "2.0"
2185
+ },
2186
+ "id": {
2187
+ "$ref": "#/$defs/jsonRpcId"
2188
+ },
2189
+ "method": {
2190
+ "const": "thread.create"
2191
+ },
2192
+ "params": {
2193
+ "$ref": "#/$defs/threadCreateParams"
2194
+ }
2195
+ },
2196
+ "required": [
2197
+ "jsonrpc",
2198
+ "id",
2199
+ "method",
2200
+ "params"
2201
+ ],
2202
+ "additionalProperties": false
2203
+ },
2204
+ "threadOpenRequest": {
2205
+ "type": "object",
2206
+ "properties": {
2207
+ "jsonrpc": {
2208
+ "const": "2.0"
2209
+ },
2210
+ "id": {
2211
+ "$ref": "#/$defs/jsonRpcId"
2212
+ },
2213
+ "method": {
2214
+ "const": "thread.open"
2215
+ },
2216
+ "params": {
2217
+ "$ref": "#/$defs/threadOpenParams"
2218
+ }
2219
+ },
2220
+ "required": [
2221
+ "jsonrpc",
2222
+ "id",
2223
+ "method",
2224
+ "params"
2225
+ ],
2226
+ "additionalProperties": false
2227
+ },
2228
+ "threadSnapshotRequest": {
2229
+ "type": "object",
2230
+ "properties": {
2231
+ "jsonrpc": {
2232
+ "const": "2.0"
2233
+ },
2234
+ "id": {
2235
+ "$ref": "#/$defs/jsonRpcId"
2236
+ },
2237
+ "method": {
2238
+ "const": "thread.snapshot"
2239
+ },
2240
+ "params": {
2241
+ "$ref": "#/$defs/threadSnapshotParams"
2242
+ }
2243
+ },
2244
+ "required": [
2245
+ "jsonrpc",
2246
+ "id",
2247
+ "method",
2248
+ "params"
2249
+ ],
2250
+ "additionalProperties": false
2251
+ },
2252
+ "threadRenameRequest": {
2253
+ "type": "object",
2254
+ "properties": {
2255
+ "jsonrpc": {
2256
+ "const": "2.0"
2257
+ },
2258
+ "id": {
2259
+ "$ref": "#/$defs/jsonRpcId"
2260
+ },
2261
+ "method": {
2262
+ "const": "thread.rename"
2263
+ },
2264
+ "params": {
2265
+ "$ref": "#/$defs/threadRenameParams"
2266
+ }
2267
+ },
2268
+ "required": [
2269
+ "jsonrpc",
2270
+ "id",
2271
+ "method",
2272
+ "params"
2273
+ ],
2274
+ "additionalProperties": false
2275
+ },
2276
+ "threadDeleteRequest": {
2277
+ "type": "object",
2278
+ "properties": {
2279
+ "jsonrpc": {
2280
+ "const": "2.0"
2281
+ },
2282
+ "id": {
2283
+ "$ref": "#/$defs/jsonRpcId"
2284
+ },
2285
+ "method": {
2286
+ "const": "thread.delete"
2287
+ },
2288
+ "params": {
2289
+ "$ref": "#/$defs/threadDeleteParams"
2290
+ }
2291
+ },
2292
+ "required": [
2293
+ "jsonrpc",
2294
+ "id",
2295
+ "method",
2296
+ "params"
2297
+ ],
2298
+ "additionalProperties": false
2299
+ },
2300
+ "threadDetachRequest": {
2301
+ "type": "object",
2302
+ "properties": {
2303
+ "jsonrpc": {
2304
+ "const": "2.0"
2305
+ },
2306
+ "id": {
2307
+ "$ref": "#/$defs/jsonRpcId"
2308
+ },
2309
+ "method": {
2310
+ "const": "thread.detach"
2311
+ },
2312
+ "params": {
2313
+ "$ref": "#/$defs/threadDetachParams"
2314
+ }
2315
+ },
2316
+ "required": [
2317
+ "jsonrpc",
2318
+ "id",
2319
+ "method",
2320
+ "params"
2321
+ ],
2322
+ "additionalProperties": false
2323
+ },
2324
+ "threadCapabilitiesRequest": {
2325
+ "type": "object",
2326
+ "properties": {
2327
+ "jsonrpc": {
2328
+ "const": "2.0"
2329
+ },
2330
+ "id": {
2331
+ "$ref": "#/$defs/jsonRpcId"
2332
+ },
2333
+ "method": {
2334
+ "const": "thread.capabilities"
2335
+ },
2336
+ "params": {
2337
+ "$ref": "#/$defs/threadCapabilitiesParams"
2338
+ }
2339
+ },
2340
+ "required": [
2341
+ "jsonrpc",
2342
+ "id",
2343
+ "method",
2344
+ "params"
2345
+ ],
2346
+ "additionalProperties": false
2347
+ },
2348
+ "turnStartRequest": {
2349
+ "type": "object",
2350
+ "properties": {
2351
+ "jsonrpc": {
2352
+ "const": "2.0"
2353
+ },
2354
+ "id": {
2355
+ "$ref": "#/$defs/jsonRpcId"
2356
+ },
2357
+ "method": {
2358
+ "const": "turn.start"
2359
+ },
2360
+ "params": {
2361
+ "$ref": "#/$defs/turnStartParams"
2362
+ }
2363
+ },
2364
+ "required": [
2365
+ "jsonrpc",
2366
+ "id",
2367
+ "method",
2368
+ "params"
2369
+ ],
2370
+ "additionalProperties": false
2371
+ },
2372
+ "turnCancelRequest": {
2373
+ "type": "object",
2374
+ "properties": {
2375
+ "jsonrpc": {
2376
+ "const": "2.0"
2377
+ },
2378
+ "id": {
2379
+ "$ref": "#/$defs/jsonRpcId"
2380
+ },
2381
+ "method": {
2382
+ "const": "turn.cancel"
2383
+ },
2384
+ "params": {
2385
+ "$ref": "#/$defs/turnCancelParams"
2386
+ }
2387
+ },
2388
+ "required": [
2389
+ "jsonrpc",
2390
+ "id",
2391
+ "method",
2392
+ "params"
2393
+ ],
2394
+ "additionalProperties": false
2395
+ },
2396
+ "approvalRespondRequest": {
2397
+ "type": "object",
2398
+ "properties": {
2399
+ "jsonrpc": {
2400
+ "const": "2.0"
2401
+ },
2402
+ "id": {
2403
+ "$ref": "#/$defs/jsonRpcId"
2404
+ },
2405
+ "method": {
2406
+ "const": "approval.respond"
2407
+ },
2408
+ "params": {
2409
+ "$ref": "#/$defs/approvalRespondParams"
2410
+ }
2411
+ },
2412
+ "required": [
2413
+ "jsonrpc",
2414
+ "id",
2415
+ "method",
2416
+ "params"
2417
+ ],
2418
+ "additionalProperties": false
2419
+ },
2420
+ "operationGetRequest": {
2421
+ "type": "object",
2422
+ "properties": {
2423
+ "jsonrpc": {
2424
+ "const": "2.0"
2425
+ },
2426
+ "id": {
2427
+ "$ref": "#/$defs/jsonRpcId"
2428
+ },
2429
+ "method": {
2430
+ "const": "operation.get"
2431
+ },
2432
+ "params": {
2433
+ "$ref": "#/$defs/operationGetParams"
2434
+ }
2435
+ },
2436
+ "required": [
2437
+ "jsonrpc",
2438
+ "id",
2439
+ "method",
2440
+ "params"
2441
+ ],
2442
+ "additionalProperties": false
2443
+ },
2444
+ "approvalRequestServerRequest": {
2445
+ "type": "object",
2446
+ "properties": {
2447
+ "jsonrpc": {
2448
+ "const": "2.0"
2449
+ },
2450
+ "id": {
2451
+ "$ref": "#/$defs/jsonRpcId"
2452
+ },
2453
+ "method": {
2454
+ "const": "approval.request"
2455
+ },
2456
+ "params": {
2457
+ "$ref": "#/$defs/approvalRequestParams"
2458
+ }
2459
+ },
2460
+ "required": [
2461
+ "jsonrpc",
2462
+ "id",
2463
+ "method",
2464
+ "params"
2465
+ ],
2466
+ "additionalProperties": false
2467
+ },
2468
+ "clientRequest": {
2469
+ "oneOf": [
2470
+ {
2471
+ "$ref": "#/$defs/initializeRequest"
2472
+ },
2473
+ {
2474
+ "$ref": "#/$defs/threadListRequest"
2475
+ },
2476
+ {
2477
+ "$ref": "#/$defs/threadCreateRequest"
2478
+ },
2479
+ {
2480
+ "$ref": "#/$defs/threadOpenRequest"
2481
+ },
2482
+ {
2483
+ "$ref": "#/$defs/threadSnapshotRequest"
2484
+ },
2485
+ {
2486
+ "$ref": "#/$defs/threadRenameRequest"
2487
+ },
2488
+ {
2489
+ "$ref": "#/$defs/threadDeleteRequest"
2490
+ },
2491
+ {
2492
+ "$ref": "#/$defs/threadDetachRequest"
2493
+ },
2494
+ {
2495
+ "$ref": "#/$defs/threadCapabilitiesRequest"
2496
+ },
2497
+ {
2498
+ "$ref": "#/$defs/turnStartRequest"
2499
+ },
2500
+ {
2501
+ "$ref": "#/$defs/turnCancelRequest"
2502
+ },
2503
+ {
2504
+ "$ref": "#/$defs/approvalRespondRequest"
2505
+ },
2506
+ {
2507
+ "$ref": "#/$defs/operationGetRequest"
2508
+ }
2509
+ ]
2510
+ },
2511
+ "serverRequest": {
2512
+ "oneOf": [
2513
+ {
2514
+ "$ref": "#/$defs/approvalRequestServerRequest"
2515
+ }
2516
+ ]
2517
+ },
2518
+ "runtimeEventNotification": {
2519
+ "type": "object",
2520
+ "properties": {
2521
+ "jsonrpc": {
2522
+ "const": "2.0"
2523
+ },
2524
+ "method": {
2525
+ "const": "runtime.event"
2526
+ },
2527
+ "params": {
2528
+ "$ref": "#/$defs/runtimeEventEnvelope"
2529
+ }
2530
+ },
2531
+ "required": [
2532
+ "jsonrpc",
2533
+ "method",
2534
+ "params"
2535
+ ],
2536
+ "additionalProperties": false
2537
+ },
2538
+ "runtimeServerRequestCancelNotification": {
2539
+ "type": "object",
2540
+ "properties": {
2541
+ "jsonrpc": {
2542
+ "const": "2.0"
2543
+ },
2544
+ "method": {
2545
+ "const": "runtime.serverRequest.cancel"
2546
+ },
2547
+ "params": {
2548
+ "$ref": "#/$defs/runtimeServerRequestCancelParams"
2549
+ }
2550
+ },
2551
+ "required": [
2552
+ "jsonrpc",
2553
+ "method",
2554
+ "params"
2555
+ ],
2556
+ "additionalProperties": false
2557
+ },
2558
+ "successResponse": {
2559
+ "type": "object",
2560
+ "properties": {
2561
+ "jsonrpc": {
2562
+ "const": "2.0"
2563
+ },
2564
+ "id": {
2565
+ "$ref": "#/$defs/jsonRpcId"
2566
+ },
2567
+ "result": {
2568
+ "anyOf": [
2569
+ {
2570
+ "$ref": "#/$defs/initializeResult"
2571
+ },
2572
+ {
2573
+ "$ref": "#/$defs/threadListResult"
2574
+ },
2575
+ {
2576
+ "$ref": "#/$defs/threadCreateResult"
2577
+ },
2578
+ {
2579
+ "$ref": "#/$defs/threadOpenResult"
2580
+ },
2581
+ {
2582
+ "$ref": "#/$defs/threadSnapshotResult"
2583
+ },
2584
+ {
2585
+ "$ref": "#/$defs/threadRenameResult"
2586
+ },
2587
+ {
2588
+ "$ref": "#/$defs/threadDeleteResult"
2589
+ },
2590
+ {
2591
+ "$ref": "#/$defs/threadDetachResult"
2592
+ },
2593
+ {
2594
+ "$ref": "#/$defs/threadCapabilitiesResult"
2595
+ },
2596
+ {
2597
+ "$ref": "#/$defs/turnStartResult"
2598
+ },
2599
+ {
2600
+ "$ref": "#/$defs/turnCancelResult"
2601
+ },
2602
+ {
2603
+ "$ref": "#/$defs/approvalRespondResult"
2604
+ },
2605
+ {
2606
+ "$ref": "#/$defs/operationGetResult"
2607
+ },
2608
+ {
2609
+ "$ref": "#/$defs/approvalRequestResult"
2610
+ }
2611
+ ]
2612
+ }
2613
+ },
2614
+ "required": [
2615
+ "jsonrpc",
2616
+ "id",
2617
+ "result"
2618
+ ],
2619
+ "additionalProperties": false
2620
+ },
2621
+ "errorResponse": {
2622
+ "type": "object",
2623
+ "properties": {
2624
+ "jsonrpc": {
2625
+ "const": "2.0"
2626
+ },
2627
+ "id": {
2628
+ "oneOf": [
2629
+ {
2630
+ "$ref": "#/$defs/jsonRpcId"
2631
+ },
2632
+ {
2633
+ "type": "null"
2634
+ }
2635
+ ]
2636
+ },
2637
+ "error": {
2638
+ "type": "object",
2639
+ "properties": {
2640
+ "code": {
2641
+ "type": "integer"
2642
+ },
2643
+ "message": {
2644
+ "type": "string"
2645
+ },
2646
+ "data": {
2647
+ "$ref": "#/$defs/runtimeProtocolErrorData"
2648
+ }
2649
+ },
2650
+ "required": [
2651
+ "code",
2652
+ "message"
2653
+ ],
2654
+ "additionalProperties": false
2655
+ }
2656
+ },
2657
+ "required": [
2658
+ "jsonrpc",
2659
+ "id",
2660
+ "error"
2661
+ ],
2662
+ "additionalProperties": false
2663
+ }
2664
+ },
2665
+ "x-roll-protocol-version": "1.1",
2666
+ "x-roll-methods": {
2667
+ "initialize": {
2668
+ "params": {
2669
+ "$ref": "#/$defs/initializeParams"
2670
+ },
2671
+ "result": {
2672
+ "$ref": "#/$defs/initializeResult"
2673
+ },
2674
+ "request": {
2675
+ "$ref": "#/$defs/initializeRequest"
2676
+ }
2677
+ },
2678
+ "thread.list": {
2679
+ "params": {
2680
+ "$ref": "#/$defs/threadListParams"
2681
+ },
2682
+ "result": {
2683
+ "$ref": "#/$defs/threadListResult"
2684
+ },
2685
+ "request": {
2686
+ "$ref": "#/$defs/threadListRequest"
2687
+ }
2688
+ },
2689
+ "thread.create": {
2690
+ "params": {
2691
+ "$ref": "#/$defs/threadCreateParams"
2692
+ },
2693
+ "result": {
2694
+ "$ref": "#/$defs/threadCreateResult"
2695
+ },
2696
+ "request": {
2697
+ "$ref": "#/$defs/threadCreateRequest"
2698
+ }
2699
+ },
2700
+ "thread.open": {
2701
+ "params": {
2702
+ "$ref": "#/$defs/threadOpenParams"
2703
+ },
2704
+ "result": {
2705
+ "$ref": "#/$defs/threadOpenResult"
2706
+ },
2707
+ "request": {
2708
+ "$ref": "#/$defs/threadOpenRequest"
2709
+ }
2710
+ },
2711
+ "thread.snapshot": {
2712
+ "params": {
2713
+ "$ref": "#/$defs/threadSnapshotParams"
2714
+ },
2715
+ "result": {
2716
+ "$ref": "#/$defs/threadSnapshotResult"
2717
+ },
2718
+ "request": {
2719
+ "$ref": "#/$defs/threadSnapshotRequest"
2720
+ }
2721
+ },
2722
+ "thread.rename": {
2723
+ "params": {
2724
+ "$ref": "#/$defs/threadRenameParams"
2725
+ },
2726
+ "result": {
2727
+ "$ref": "#/$defs/threadRenameResult"
2728
+ },
2729
+ "request": {
2730
+ "$ref": "#/$defs/threadRenameRequest"
2731
+ }
2732
+ },
2733
+ "thread.delete": {
2734
+ "params": {
2735
+ "$ref": "#/$defs/threadDeleteParams"
2736
+ },
2737
+ "result": {
2738
+ "$ref": "#/$defs/threadDeleteResult"
2739
+ },
2740
+ "request": {
2741
+ "$ref": "#/$defs/threadDeleteRequest"
2742
+ }
2743
+ },
2744
+ "thread.detach": {
2745
+ "params": {
2746
+ "$ref": "#/$defs/threadDetachParams"
2747
+ },
2748
+ "result": {
2749
+ "$ref": "#/$defs/threadDetachResult"
2750
+ },
2751
+ "request": {
2752
+ "$ref": "#/$defs/threadDetachRequest"
2753
+ }
2754
+ },
2755
+ "thread.capabilities": {
2756
+ "params": {
2757
+ "$ref": "#/$defs/threadCapabilitiesParams"
2758
+ },
2759
+ "result": {
2760
+ "$ref": "#/$defs/threadCapabilitiesResult"
2761
+ },
2762
+ "request": {
2763
+ "$ref": "#/$defs/threadCapabilitiesRequest"
2764
+ }
2765
+ },
2766
+ "turn.start": {
2767
+ "params": {
2768
+ "$ref": "#/$defs/turnStartParams"
2769
+ },
2770
+ "result": {
2771
+ "$ref": "#/$defs/turnStartResult"
2772
+ },
2773
+ "request": {
2774
+ "$ref": "#/$defs/turnStartRequest"
2775
+ }
2776
+ },
2777
+ "turn.cancel": {
2778
+ "params": {
2779
+ "$ref": "#/$defs/turnCancelParams"
2780
+ },
2781
+ "result": {
2782
+ "$ref": "#/$defs/turnCancelResult"
2783
+ },
2784
+ "request": {
2785
+ "$ref": "#/$defs/turnCancelRequest"
2786
+ }
2787
+ },
2788
+ "approval.respond": {
2789
+ "params": {
2790
+ "$ref": "#/$defs/approvalRespondParams"
2791
+ },
2792
+ "result": {
2793
+ "$ref": "#/$defs/approvalRespondResult"
2794
+ },
2795
+ "request": {
2796
+ "$ref": "#/$defs/approvalRespondRequest"
2797
+ }
2798
+ },
2799
+ "operation.get": {
2800
+ "params": {
2801
+ "$ref": "#/$defs/operationGetParams"
2802
+ },
2803
+ "result": {
2804
+ "$ref": "#/$defs/operationGetResult"
2805
+ },
2806
+ "request": {
2807
+ "$ref": "#/$defs/operationGetRequest"
2808
+ }
2809
+ }
2810
+ },
2811
+ "x-roll-server-request-methods": {
2812
+ "approval.request": {
2813
+ "params": {
2814
+ "$ref": "#/$defs/approvalRequestParams"
2815
+ },
2816
+ "result": {
2817
+ "$ref": "#/$defs/approvalRequestResult"
2818
+ },
2819
+ "request": {
2820
+ "$ref": "#/$defs/approvalRequestServerRequest"
2821
+ }
2822
+ }
2823
+ }
2824
+ }