@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,4112 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://roll-agent.dev/schemas/runtime-protocol/1.2",
4
+ "title": "Roll Runtime Protocol v1.2",
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.2"
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
+ "CAPABILITY_REVISION_CONFLICT"
580
+ ]
581
+ },
582
+ "retryable": {
583
+ "type": "boolean"
584
+ },
585
+ "details": {
586
+ "$ref": "#/$defs/sharedSchema0"
587
+ }
588
+ },
589
+ "required": [
590
+ "rollCode",
591
+ "retryable"
592
+ ],
593
+ "additionalProperties": false
594
+ },
595
+ "runtimeServerRequestCancelParams": {
596
+ "readOnly": true,
597
+ "type": "object",
598
+ "properties": {
599
+ "interactionId": {
600
+ "type": "string",
601
+ "format": "uuid",
602
+ "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)$"
603
+ },
604
+ "reason": {
605
+ "type": "string",
606
+ "minLength": 1
607
+ }
608
+ },
609
+ "required": [
610
+ "interactionId",
611
+ "reason"
612
+ ],
613
+ "additionalProperties": false
614
+ },
615
+ "initializeParams": {
616
+ "readOnly": true,
617
+ "type": "object",
618
+ "properties": {
619
+ "protocolVersions": {
620
+ "minItems": 1,
621
+ "type": "array",
622
+ "items": {
623
+ "type": "string",
624
+ "minLength": 1
625
+ }
626
+ },
627
+ "client": {
628
+ "readOnly": true,
629
+ "type": "object",
630
+ "properties": {
631
+ "name": {
632
+ "type": "string",
633
+ "minLength": 1,
634
+ "maxLength": 100
635
+ },
636
+ "version": {
637
+ "type": "string",
638
+ "minLength": 1,
639
+ "maxLength": 100
640
+ }
641
+ },
642
+ "required": [
643
+ "name",
644
+ "version"
645
+ ],
646
+ "additionalProperties": false
647
+ }
648
+ },
649
+ "required": [
650
+ "protocolVersions",
651
+ "client"
652
+ ],
653
+ "additionalProperties": false
654
+ },
655
+ "initializeResult": {
656
+ "readOnly": true,
657
+ "type": "object",
658
+ "properties": {
659
+ "protocolVersion": {
660
+ "type": "string",
661
+ "const": "1.2"
662
+ },
663
+ "runtimeInstanceId": {
664
+ "type": "string",
665
+ "format": "uuid",
666
+ "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)$"
667
+ },
668
+ "server": {
669
+ "readOnly": true,
670
+ "type": "object",
671
+ "properties": {
672
+ "name": {
673
+ "type": "string",
674
+ "minLength": 1,
675
+ "maxLength": 100
676
+ },
677
+ "version": {
678
+ "type": "string",
679
+ "minLength": 1,
680
+ "maxLength": 100
681
+ },
682
+ "runtimeVersion": {
683
+ "type": "string",
684
+ "minLength": 1,
685
+ "maxLength": 100
686
+ }
687
+ },
688
+ "required": [
689
+ "name",
690
+ "version",
691
+ "runtimeVersion"
692
+ ],
693
+ "additionalProperties": false
694
+ },
695
+ "features": {
696
+ "type": "array",
697
+ "items": {
698
+ "type": "string",
699
+ "enum": [
700
+ "thread-management",
701
+ "snapshots",
702
+ "turns",
703
+ "approvals",
704
+ "tool-streaming",
705
+ "reasoning-summary",
706
+ "operation-projection",
707
+ "process-local-sequence"
708
+ ]
709
+ }
710
+ },
711
+ "limits": {
712
+ "readOnly": true,
713
+ "type": "object",
714
+ "properties": {
715
+ "maxFrameBytes": {
716
+ "type": "integer",
717
+ "exclusiveMinimum": 0,
718
+ "maximum": 9007199254740991
719
+ },
720
+ "maxPageSize": {
721
+ "type": "integer",
722
+ "exclusiveMinimum": 0,
723
+ "maximum": 9007199254740991
724
+ },
725
+ "eventReplay": {
726
+ "type": "boolean",
727
+ "const": false
728
+ },
729
+ "idempotencyCacheEntries": {
730
+ "type": "integer",
731
+ "exclusiveMinimum": 0,
732
+ "maximum": 9007199254740991
733
+ }
734
+ },
735
+ "required": [
736
+ "maxFrameBytes",
737
+ "maxPageSize",
738
+ "eventReplay",
739
+ "idempotencyCacheEntries"
740
+ ],
741
+ "additionalProperties": false
742
+ }
743
+ },
744
+ "required": [
745
+ "protocolVersion",
746
+ "runtimeInstanceId",
747
+ "server",
748
+ "features",
749
+ "limits"
750
+ ],
751
+ "additionalProperties": false
752
+ },
753
+ "threadListParams": {
754
+ "readOnly": true,
755
+ "type": "object",
756
+ "properties": {
757
+ "cursor": {
758
+ "type": "string",
759
+ "pattern": "^\\d+$"
760
+ },
761
+ "limit": {
762
+ "default": 100,
763
+ "type": "integer",
764
+ "minimum": 1,
765
+ "maximum": 500
766
+ }
767
+ },
768
+ "required": [
769
+ "limit"
770
+ ],
771
+ "additionalProperties": false
772
+ },
773
+ "threadListResult": {
774
+ "readOnly": true,
775
+ "type": "object",
776
+ "properties": {
777
+ "items": {
778
+ "type": "array",
779
+ "items": {
780
+ "readOnly": true,
781
+ "type": "object",
782
+ "properties": {
783
+ "id": {
784
+ "type": "string",
785
+ "format": "uuid",
786
+ "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)$"
787
+ },
788
+ "title": {
789
+ "type": "string"
790
+ },
791
+ "model": {
792
+ "type": "string"
793
+ },
794
+ "createdAt": {
795
+ "type": "string",
796
+ "format": "date-time",
797
+ "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})))$"
798
+ },
799
+ "updatedAt": {
800
+ "type": "string",
801
+ "format": "date-time",
802
+ "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})))$"
803
+ },
804
+ "messageCount": {
805
+ "type": "integer",
806
+ "minimum": 0,
807
+ "maximum": 9007199254740991
808
+ }
809
+ },
810
+ "required": [
811
+ "id",
812
+ "createdAt",
813
+ "updatedAt",
814
+ "messageCount"
815
+ ],
816
+ "additionalProperties": false
817
+ }
818
+ },
819
+ "nextCursor": {
820
+ "anyOf": [
821
+ {
822
+ "type": "string",
823
+ "pattern": "^\\d+$"
824
+ },
825
+ {
826
+ "type": "null"
827
+ }
828
+ ]
829
+ }
830
+ },
831
+ "required": [
832
+ "items",
833
+ "nextCursor"
834
+ ],
835
+ "additionalProperties": false
836
+ },
837
+ "threadCreateParams": {
838
+ "readOnly": true,
839
+ "type": "object",
840
+ "properties": {
841
+ "requestId": {
842
+ "type": "string",
843
+ "format": "uuid",
844
+ "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)$"
845
+ },
846
+ "title": {
847
+ "type": "string",
848
+ "minLength": 1,
849
+ "maxLength": 200
850
+ }
851
+ },
852
+ "required": [
853
+ "requestId"
854
+ ],
855
+ "additionalProperties": false
856
+ },
857
+ "threadCreateResult": {
858
+ "readOnly": true,
859
+ "type": "object",
860
+ "properties": {
861
+ "thread": {
862
+ "readOnly": true,
863
+ "type": "object",
864
+ "properties": {
865
+ "id": {
866
+ "type": "string",
867
+ "format": "uuid",
868
+ "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)$"
869
+ },
870
+ "title": {
871
+ "type": "string"
872
+ },
873
+ "model": {
874
+ "type": "string"
875
+ },
876
+ "createdAt": {
877
+ "type": "string",
878
+ "format": "date-time",
879
+ "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})))$"
880
+ },
881
+ "updatedAt": {
882
+ "type": "string",
883
+ "format": "date-time",
884
+ "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})))$"
885
+ },
886
+ "messageCount": {
887
+ "type": "integer",
888
+ "minimum": 0,
889
+ "maximum": 9007199254740991
890
+ }
891
+ },
892
+ "required": [
893
+ "id",
894
+ "createdAt",
895
+ "updatedAt",
896
+ "messageCount"
897
+ ],
898
+ "additionalProperties": false
899
+ }
900
+ },
901
+ "required": [
902
+ "thread"
903
+ ],
904
+ "additionalProperties": false
905
+ },
906
+ "threadOpenParams": {
907
+ "readOnly": true,
908
+ "type": "object",
909
+ "properties": {
910
+ "threadId": {
911
+ "type": "string",
912
+ "format": "uuid",
913
+ "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)$"
914
+ }
915
+ },
916
+ "required": [
917
+ "threadId"
918
+ ],
919
+ "additionalProperties": false
920
+ },
921
+ "threadOpenResult": {
922
+ "readOnly": true,
923
+ "type": "object",
924
+ "properties": {
925
+ "thread": {
926
+ "readOnly": true,
927
+ "type": "object",
928
+ "properties": {
929
+ "id": {
930
+ "type": "string",
931
+ "format": "uuid",
932
+ "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)$"
933
+ },
934
+ "title": {
935
+ "type": "string"
936
+ },
937
+ "model": {
938
+ "type": "string"
939
+ },
940
+ "createdAt": {
941
+ "type": "string",
942
+ "format": "date-time",
943
+ "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})))$"
944
+ },
945
+ "updatedAt": {
946
+ "type": "string",
947
+ "format": "date-time",
948
+ "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})))$"
949
+ },
950
+ "messageCount": {
951
+ "type": "integer",
952
+ "minimum": 0,
953
+ "maximum": 9007199254740991
954
+ }
955
+ },
956
+ "required": [
957
+ "id",
958
+ "createdAt",
959
+ "updatedAt",
960
+ "messageCount"
961
+ ],
962
+ "additionalProperties": false
963
+ },
964
+ "messages": {
965
+ "readOnly": true,
966
+ "type": "object",
967
+ "properties": {
968
+ "items": {
969
+ "type": "array",
970
+ "items": {
971
+ "readOnly": true,
972
+ "type": "object",
973
+ "properties": {
974
+ "sequence": {
975
+ "type": "integer",
976
+ "minimum": 0,
977
+ "maximum": 9007199254740991
978
+ },
979
+ "role": {
980
+ "type": "string",
981
+ "enum": [
982
+ "user",
983
+ "assistant"
984
+ ]
985
+ },
986
+ "createdAt": {
987
+ "type": "string",
988
+ "format": "date-time",
989
+ "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})))$"
990
+ },
991
+ "parts": {
992
+ "type": "array",
993
+ "items": {
994
+ "readOnly": true,
995
+ "type": "object",
996
+ "properties": {
997
+ "type": {
998
+ "type": "string",
999
+ "const": "text"
1000
+ },
1001
+ "text": {
1002
+ "type": "string"
1003
+ }
1004
+ },
1005
+ "required": [
1006
+ "type",
1007
+ "text"
1008
+ ],
1009
+ "additionalProperties": false
1010
+ }
1011
+ }
1012
+ },
1013
+ "required": [
1014
+ "sequence",
1015
+ "role",
1016
+ "createdAt",
1017
+ "parts"
1018
+ ],
1019
+ "additionalProperties": false
1020
+ }
1021
+ },
1022
+ "nextBeforeSequence": {
1023
+ "anyOf": [
1024
+ {
1025
+ "type": "integer",
1026
+ "minimum": 0,
1027
+ "maximum": 9007199254740991
1028
+ },
1029
+ {
1030
+ "type": "null"
1031
+ }
1032
+ ]
1033
+ }
1034
+ },
1035
+ "required": [
1036
+ "items",
1037
+ "nextBeforeSequence"
1038
+ ],
1039
+ "additionalProperties": false
1040
+ },
1041
+ "operations": {
1042
+ "readOnly": true,
1043
+ "type": "object",
1044
+ "properties": {
1045
+ "items": {
1046
+ "type": "array",
1047
+ "items": {
1048
+ "readOnly": true,
1049
+ "type": "object",
1050
+ "properties": {
1051
+ "id": {
1052
+ "type": "string",
1053
+ "format": "uuid",
1054
+ "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)$"
1055
+ },
1056
+ "sequence": {
1057
+ "type": "integer",
1058
+ "minimum": 0,
1059
+ "maximum": 9007199254740991
1060
+ },
1061
+ "toolCallId": {
1062
+ "type": "string",
1063
+ "minLength": 1
1064
+ },
1065
+ "agentName": {
1066
+ "type": "string",
1067
+ "minLength": 1
1068
+ },
1069
+ "toolName": {
1070
+ "type": "string",
1071
+ "minLength": 1
1072
+ },
1073
+ "createdAt": {
1074
+ "type": "string",
1075
+ "format": "date-time",
1076
+ "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})))$"
1077
+ },
1078
+ "outcome": {
1079
+ "readOnly": true,
1080
+ "type": "object",
1081
+ "properties": {
1082
+ "kind": {
1083
+ "type": "string",
1084
+ "enum": [
1085
+ "success",
1086
+ "user_rejected",
1087
+ "policy_denied",
1088
+ "invalid_input",
1089
+ "cancelled",
1090
+ "tool_failed"
1091
+ ]
1092
+ },
1093
+ "reason": {
1094
+ "type": "string"
1095
+ }
1096
+ },
1097
+ "required": [
1098
+ "kind"
1099
+ ],
1100
+ "additionalProperties": false
1101
+ },
1102
+ "display": {
1103
+ "$ref": "#/$defs/sharedSchema0"
1104
+ }
1105
+ },
1106
+ "required": [
1107
+ "id",
1108
+ "sequence",
1109
+ "toolCallId",
1110
+ "agentName",
1111
+ "toolName",
1112
+ "createdAt",
1113
+ "outcome",
1114
+ "display"
1115
+ ],
1116
+ "additionalProperties": false
1117
+ }
1118
+ },
1119
+ "nextBeforeSequence": {
1120
+ "anyOf": [
1121
+ {
1122
+ "type": "integer",
1123
+ "minimum": 0,
1124
+ "maximum": 9007199254740991
1125
+ },
1126
+ {
1127
+ "type": "null"
1128
+ }
1129
+ ]
1130
+ }
1131
+ },
1132
+ "required": [
1133
+ "items",
1134
+ "nextBeforeSequence"
1135
+ ],
1136
+ "additionalProperties": false
1137
+ },
1138
+ "activeTurn": {
1139
+ "readOnly": true,
1140
+ "type": "object",
1141
+ "properties": {
1142
+ "id": {
1143
+ "type": "string",
1144
+ "format": "uuid",
1145
+ "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)$"
1146
+ },
1147
+ "status": {
1148
+ "type": "string",
1149
+ "enum": [
1150
+ "running",
1151
+ "cancelling",
1152
+ "waiting-for-user"
1153
+ ]
1154
+ },
1155
+ "startedAt": {
1156
+ "type": "string",
1157
+ "format": "date-time",
1158
+ "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})))$"
1159
+ }
1160
+ },
1161
+ "required": [
1162
+ "id",
1163
+ "status",
1164
+ "startedAt"
1165
+ ],
1166
+ "additionalProperties": false
1167
+ },
1168
+ "pendingApprovals": {
1169
+ "type": "array",
1170
+ "items": {
1171
+ "readOnly": true,
1172
+ "type": "object",
1173
+ "properties": {
1174
+ "id": {
1175
+ "type": "string",
1176
+ "format": "uuid",
1177
+ "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)$"
1178
+ },
1179
+ "turnId": {
1180
+ "type": "string",
1181
+ "format": "uuid",
1182
+ "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)$"
1183
+ },
1184
+ "agentName": {
1185
+ "type": "string",
1186
+ "minLength": 1
1187
+ },
1188
+ "toolName": {
1189
+ "type": "string",
1190
+ "minLength": 1
1191
+ },
1192
+ "preview": {
1193
+ "$ref": "#/$defs/sharedSchema0"
1194
+ },
1195
+ "reason": {
1196
+ "type": "string"
1197
+ }
1198
+ },
1199
+ "required": [
1200
+ "id",
1201
+ "turnId",
1202
+ "agentName",
1203
+ "toolName",
1204
+ "preview"
1205
+ ],
1206
+ "additionalProperties": false
1207
+ }
1208
+ },
1209
+ "transcriptCompleteness": {
1210
+ "type": "string",
1211
+ "enum": [
1212
+ "complete",
1213
+ "legacy_snapshot"
1214
+ ]
1215
+ },
1216
+ "pendingInteractions": {
1217
+ "type": "array",
1218
+ "items": {
1219
+ "anyOf": [
1220
+ {
1221
+ "readOnly": true,
1222
+ "type": "object",
1223
+ "properties": {
1224
+ "method": {
1225
+ "type": "string",
1226
+ "const": "approval.request"
1227
+ },
1228
+ "interactionId": {
1229
+ "type": "string",
1230
+ "format": "uuid",
1231
+ "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)$"
1232
+ },
1233
+ "threadId": {
1234
+ "type": "string",
1235
+ "format": "uuid",
1236
+ "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)$"
1237
+ },
1238
+ "turnId": {
1239
+ "type": "string",
1240
+ "format": "uuid",
1241
+ "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)$"
1242
+ },
1243
+ "expiresAt": {
1244
+ "type": "string",
1245
+ "format": "date-time",
1246
+ "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})))$"
1247
+ },
1248
+ "sensitivity": {
1249
+ "type": "string",
1250
+ "const": "normal"
1251
+ },
1252
+ "approvalId": {
1253
+ "type": "string",
1254
+ "format": "uuid",
1255
+ "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)$"
1256
+ }
1257
+ },
1258
+ "required": [
1259
+ "method",
1260
+ "interactionId",
1261
+ "threadId",
1262
+ "turnId",
1263
+ "expiresAt",
1264
+ "sensitivity",
1265
+ "approvalId"
1266
+ ],
1267
+ "additionalProperties": false
1268
+ },
1269
+ {
1270
+ "readOnly": true,
1271
+ "type": "object",
1272
+ "properties": {
1273
+ "interactionId": {
1274
+ "type": "string",
1275
+ "format": "uuid",
1276
+ "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)$"
1277
+ },
1278
+ "threadId": {
1279
+ "type": "string",
1280
+ "format": "uuid",
1281
+ "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)$"
1282
+ },
1283
+ "turnId": {
1284
+ "type": "string",
1285
+ "format": "uuid",
1286
+ "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)$"
1287
+ },
1288
+ "expiresAt": {
1289
+ "type": "string",
1290
+ "format": "date-time",
1291
+ "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})))$"
1292
+ },
1293
+ "sensitivity": {
1294
+ "type": "string",
1295
+ "enum": [
1296
+ "normal"
1297
+ ]
1298
+ },
1299
+ "title": {
1300
+ "type": "string",
1301
+ "minLength": 1,
1302
+ "maxLength": 200
1303
+ },
1304
+ "description": {
1305
+ "type": "string",
1306
+ "minLength": 1,
1307
+ "maxLength": 500
1308
+ },
1309
+ "controls": {
1310
+ "minItems": 1,
1311
+ "maxItems": 16,
1312
+ "type": "array",
1313
+ "items": {
1314
+ "anyOf": [
1315
+ {
1316
+ "readOnly": true,
1317
+ "type": "object",
1318
+ "properties": {
1319
+ "type": {
1320
+ "type": "string",
1321
+ "const": "text"
1322
+ },
1323
+ "id": {
1324
+ "type": "string",
1325
+ "minLength": 1,
1326
+ "maxLength": 64
1327
+ },
1328
+ "label": {
1329
+ "type": "string",
1330
+ "minLength": 1,
1331
+ "maxLength": 200
1332
+ },
1333
+ "description": {
1334
+ "type": "string",
1335
+ "minLength": 1,
1336
+ "maxLength": 500
1337
+ },
1338
+ "required": {
1339
+ "type": "boolean"
1340
+ },
1341
+ "minLength": {
1342
+ "type": "integer",
1343
+ "minimum": 0,
1344
+ "maximum": 10000
1345
+ },
1346
+ "maxLength": {
1347
+ "type": "integer",
1348
+ "minimum": 0,
1349
+ "maximum": 10000
1350
+ }
1351
+ },
1352
+ "required": [
1353
+ "type",
1354
+ "id",
1355
+ "label",
1356
+ "required"
1357
+ ],
1358
+ "additionalProperties": false
1359
+ },
1360
+ {
1361
+ "readOnly": true,
1362
+ "type": "object",
1363
+ "properties": {
1364
+ "type": {
1365
+ "type": "string",
1366
+ "const": "multiline"
1367
+ },
1368
+ "id": {
1369
+ "type": "string",
1370
+ "minLength": 1,
1371
+ "maxLength": 64
1372
+ },
1373
+ "label": {
1374
+ "type": "string",
1375
+ "minLength": 1,
1376
+ "maxLength": 200
1377
+ },
1378
+ "description": {
1379
+ "type": "string",
1380
+ "minLength": 1,
1381
+ "maxLength": 500
1382
+ },
1383
+ "required": {
1384
+ "type": "boolean"
1385
+ },
1386
+ "minLength": {
1387
+ "type": "integer",
1388
+ "minimum": 0,
1389
+ "maximum": 10000
1390
+ },
1391
+ "maxLength": {
1392
+ "type": "integer",
1393
+ "minimum": 0,
1394
+ "maximum": 10000
1395
+ }
1396
+ },
1397
+ "required": [
1398
+ "type",
1399
+ "id",
1400
+ "label",
1401
+ "required"
1402
+ ],
1403
+ "additionalProperties": false
1404
+ },
1405
+ {
1406
+ "readOnly": true,
1407
+ "type": "object",
1408
+ "properties": {
1409
+ "type": {
1410
+ "type": "string",
1411
+ "const": "number"
1412
+ },
1413
+ "id": {
1414
+ "type": "string",
1415
+ "minLength": 1,
1416
+ "maxLength": 64
1417
+ },
1418
+ "label": {
1419
+ "type": "string",
1420
+ "minLength": 1,
1421
+ "maxLength": 200
1422
+ },
1423
+ "description": {
1424
+ "type": "string",
1425
+ "minLength": 1,
1426
+ "maxLength": 500
1427
+ },
1428
+ "required": {
1429
+ "type": "boolean"
1430
+ },
1431
+ "min": {
1432
+ "type": "number"
1433
+ },
1434
+ "max": {
1435
+ "type": "number"
1436
+ },
1437
+ "integer": {
1438
+ "type": "boolean"
1439
+ }
1440
+ },
1441
+ "required": [
1442
+ "type",
1443
+ "id",
1444
+ "label",
1445
+ "required"
1446
+ ],
1447
+ "additionalProperties": false
1448
+ },
1449
+ {
1450
+ "readOnly": true,
1451
+ "type": "object",
1452
+ "properties": {
1453
+ "type": {
1454
+ "type": "string",
1455
+ "const": "boolean"
1456
+ },
1457
+ "id": {
1458
+ "type": "string",
1459
+ "minLength": 1,
1460
+ "maxLength": 64
1461
+ },
1462
+ "label": {
1463
+ "type": "string",
1464
+ "minLength": 1,
1465
+ "maxLength": 200
1466
+ },
1467
+ "description": {
1468
+ "type": "string",
1469
+ "minLength": 1,
1470
+ "maxLength": 500
1471
+ },
1472
+ "required": {
1473
+ "type": "boolean"
1474
+ }
1475
+ },
1476
+ "required": [
1477
+ "type",
1478
+ "id",
1479
+ "label",
1480
+ "required"
1481
+ ],
1482
+ "additionalProperties": false
1483
+ },
1484
+ {
1485
+ "readOnly": true,
1486
+ "type": "object",
1487
+ "properties": {
1488
+ "type": {
1489
+ "type": "string",
1490
+ "const": "choice"
1491
+ },
1492
+ "id": {
1493
+ "type": "string",
1494
+ "minLength": 1,
1495
+ "maxLength": 64
1496
+ },
1497
+ "label": {
1498
+ "type": "string",
1499
+ "minLength": 1,
1500
+ "maxLength": 200
1501
+ },
1502
+ "description": {
1503
+ "type": "string",
1504
+ "minLength": 1,
1505
+ "maxLength": 500
1506
+ },
1507
+ "required": {
1508
+ "type": "boolean"
1509
+ },
1510
+ "multiple": {
1511
+ "type": "boolean"
1512
+ },
1513
+ "options": {
1514
+ "minItems": 1,
1515
+ "maxItems": 50,
1516
+ "type": "array",
1517
+ "items": {
1518
+ "readOnly": true,
1519
+ "type": "object",
1520
+ "properties": {
1521
+ "id": {
1522
+ "type": "string",
1523
+ "minLength": 1,
1524
+ "maxLength": 64
1525
+ },
1526
+ "label": {
1527
+ "type": "string",
1528
+ "minLength": 1,
1529
+ "maxLength": 200
1530
+ },
1531
+ "description": {
1532
+ "type": "string",
1533
+ "minLength": 1,
1534
+ "maxLength": 500
1535
+ }
1536
+ },
1537
+ "required": [
1538
+ "id",
1539
+ "label"
1540
+ ],
1541
+ "additionalProperties": false
1542
+ }
1543
+ },
1544
+ "minSelections": {
1545
+ "type": "integer",
1546
+ "minimum": 0,
1547
+ "maximum": 50
1548
+ },
1549
+ "maxSelections": {
1550
+ "type": "integer",
1551
+ "minimum": 1,
1552
+ "maximum": 50
1553
+ }
1554
+ },
1555
+ "required": [
1556
+ "type",
1557
+ "id",
1558
+ "label",
1559
+ "required",
1560
+ "multiple",
1561
+ "options"
1562
+ ],
1563
+ "additionalProperties": false
1564
+ }
1565
+ ]
1566
+ }
1567
+ },
1568
+ "method": {
1569
+ "type": "string",
1570
+ "const": "userInput.request"
1571
+ }
1572
+ },
1573
+ "required": [
1574
+ "interactionId",
1575
+ "threadId",
1576
+ "turnId",
1577
+ "expiresAt",
1578
+ "sensitivity",
1579
+ "controls",
1580
+ "method"
1581
+ ],
1582
+ "additionalProperties": false
1583
+ }
1584
+ ]
1585
+ }
1586
+ }
1587
+ },
1588
+ "required": [
1589
+ "thread",
1590
+ "messages",
1591
+ "operations",
1592
+ "pendingApprovals",
1593
+ "transcriptCompleteness",
1594
+ "pendingInteractions"
1595
+ ],
1596
+ "additionalProperties": false
1597
+ },
1598
+ "threadSnapshotParams": {
1599
+ "readOnly": true,
1600
+ "type": "object",
1601
+ "properties": {
1602
+ "threadId": {
1603
+ "type": "string",
1604
+ "format": "uuid",
1605
+ "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)$"
1606
+ },
1607
+ "messageBeforeSequence": {
1608
+ "type": "integer",
1609
+ "minimum": 0,
1610
+ "maximum": 9007199254740991
1611
+ },
1612
+ "operationBeforeSequence": {
1613
+ "type": "integer",
1614
+ "minimum": 0,
1615
+ "maximum": 9007199254740991
1616
+ },
1617
+ "limit": {
1618
+ "default": 100,
1619
+ "type": "integer",
1620
+ "minimum": 1,
1621
+ "maximum": 500
1622
+ }
1623
+ },
1624
+ "required": [
1625
+ "threadId",
1626
+ "limit"
1627
+ ],
1628
+ "additionalProperties": false
1629
+ },
1630
+ "threadSnapshotResult": {
1631
+ "readOnly": true,
1632
+ "type": "object",
1633
+ "properties": {
1634
+ "thread": {
1635
+ "readOnly": true,
1636
+ "type": "object",
1637
+ "properties": {
1638
+ "id": {
1639
+ "type": "string",
1640
+ "format": "uuid",
1641
+ "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)$"
1642
+ },
1643
+ "title": {
1644
+ "type": "string"
1645
+ },
1646
+ "model": {
1647
+ "type": "string"
1648
+ },
1649
+ "createdAt": {
1650
+ "type": "string",
1651
+ "format": "date-time",
1652
+ "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})))$"
1653
+ },
1654
+ "updatedAt": {
1655
+ "type": "string",
1656
+ "format": "date-time",
1657
+ "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})))$"
1658
+ },
1659
+ "messageCount": {
1660
+ "type": "integer",
1661
+ "minimum": 0,
1662
+ "maximum": 9007199254740991
1663
+ }
1664
+ },
1665
+ "required": [
1666
+ "id",
1667
+ "createdAt",
1668
+ "updatedAt",
1669
+ "messageCount"
1670
+ ],
1671
+ "additionalProperties": false
1672
+ },
1673
+ "messages": {
1674
+ "readOnly": true,
1675
+ "type": "object",
1676
+ "properties": {
1677
+ "items": {
1678
+ "type": "array",
1679
+ "items": {
1680
+ "readOnly": true,
1681
+ "type": "object",
1682
+ "properties": {
1683
+ "sequence": {
1684
+ "type": "integer",
1685
+ "minimum": 0,
1686
+ "maximum": 9007199254740991
1687
+ },
1688
+ "role": {
1689
+ "type": "string",
1690
+ "enum": [
1691
+ "user",
1692
+ "assistant"
1693
+ ]
1694
+ },
1695
+ "createdAt": {
1696
+ "type": "string",
1697
+ "format": "date-time",
1698
+ "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})))$"
1699
+ },
1700
+ "parts": {
1701
+ "type": "array",
1702
+ "items": {
1703
+ "readOnly": true,
1704
+ "type": "object",
1705
+ "properties": {
1706
+ "type": {
1707
+ "type": "string",
1708
+ "const": "text"
1709
+ },
1710
+ "text": {
1711
+ "type": "string"
1712
+ }
1713
+ },
1714
+ "required": [
1715
+ "type",
1716
+ "text"
1717
+ ],
1718
+ "additionalProperties": false
1719
+ }
1720
+ }
1721
+ },
1722
+ "required": [
1723
+ "sequence",
1724
+ "role",
1725
+ "createdAt",
1726
+ "parts"
1727
+ ],
1728
+ "additionalProperties": false
1729
+ }
1730
+ },
1731
+ "nextBeforeSequence": {
1732
+ "anyOf": [
1733
+ {
1734
+ "type": "integer",
1735
+ "minimum": 0,
1736
+ "maximum": 9007199254740991
1737
+ },
1738
+ {
1739
+ "type": "null"
1740
+ }
1741
+ ]
1742
+ }
1743
+ },
1744
+ "required": [
1745
+ "items",
1746
+ "nextBeforeSequence"
1747
+ ],
1748
+ "additionalProperties": false
1749
+ },
1750
+ "operations": {
1751
+ "readOnly": true,
1752
+ "type": "object",
1753
+ "properties": {
1754
+ "items": {
1755
+ "type": "array",
1756
+ "items": {
1757
+ "readOnly": true,
1758
+ "type": "object",
1759
+ "properties": {
1760
+ "id": {
1761
+ "type": "string",
1762
+ "format": "uuid",
1763
+ "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)$"
1764
+ },
1765
+ "sequence": {
1766
+ "type": "integer",
1767
+ "minimum": 0,
1768
+ "maximum": 9007199254740991
1769
+ },
1770
+ "toolCallId": {
1771
+ "type": "string",
1772
+ "minLength": 1
1773
+ },
1774
+ "agentName": {
1775
+ "type": "string",
1776
+ "minLength": 1
1777
+ },
1778
+ "toolName": {
1779
+ "type": "string",
1780
+ "minLength": 1
1781
+ },
1782
+ "createdAt": {
1783
+ "type": "string",
1784
+ "format": "date-time",
1785
+ "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})))$"
1786
+ },
1787
+ "outcome": {
1788
+ "readOnly": true,
1789
+ "type": "object",
1790
+ "properties": {
1791
+ "kind": {
1792
+ "type": "string",
1793
+ "enum": [
1794
+ "success",
1795
+ "user_rejected",
1796
+ "policy_denied",
1797
+ "invalid_input",
1798
+ "cancelled",
1799
+ "tool_failed"
1800
+ ]
1801
+ },
1802
+ "reason": {
1803
+ "type": "string"
1804
+ }
1805
+ },
1806
+ "required": [
1807
+ "kind"
1808
+ ],
1809
+ "additionalProperties": false
1810
+ },
1811
+ "display": {
1812
+ "$ref": "#/$defs/sharedSchema0"
1813
+ }
1814
+ },
1815
+ "required": [
1816
+ "id",
1817
+ "sequence",
1818
+ "toolCallId",
1819
+ "agentName",
1820
+ "toolName",
1821
+ "createdAt",
1822
+ "outcome",
1823
+ "display"
1824
+ ],
1825
+ "additionalProperties": false
1826
+ }
1827
+ },
1828
+ "nextBeforeSequence": {
1829
+ "anyOf": [
1830
+ {
1831
+ "type": "integer",
1832
+ "minimum": 0,
1833
+ "maximum": 9007199254740991
1834
+ },
1835
+ {
1836
+ "type": "null"
1837
+ }
1838
+ ]
1839
+ }
1840
+ },
1841
+ "required": [
1842
+ "items",
1843
+ "nextBeforeSequence"
1844
+ ],
1845
+ "additionalProperties": false
1846
+ },
1847
+ "activeTurn": {
1848
+ "readOnly": true,
1849
+ "type": "object",
1850
+ "properties": {
1851
+ "id": {
1852
+ "type": "string",
1853
+ "format": "uuid",
1854
+ "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)$"
1855
+ },
1856
+ "status": {
1857
+ "type": "string",
1858
+ "enum": [
1859
+ "running",
1860
+ "cancelling",
1861
+ "waiting-for-user"
1862
+ ]
1863
+ },
1864
+ "startedAt": {
1865
+ "type": "string",
1866
+ "format": "date-time",
1867
+ "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})))$"
1868
+ }
1869
+ },
1870
+ "required": [
1871
+ "id",
1872
+ "status",
1873
+ "startedAt"
1874
+ ],
1875
+ "additionalProperties": false
1876
+ },
1877
+ "pendingApprovals": {
1878
+ "type": "array",
1879
+ "items": {
1880
+ "readOnly": true,
1881
+ "type": "object",
1882
+ "properties": {
1883
+ "id": {
1884
+ "type": "string",
1885
+ "format": "uuid",
1886
+ "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)$"
1887
+ },
1888
+ "turnId": {
1889
+ "type": "string",
1890
+ "format": "uuid",
1891
+ "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)$"
1892
+ },
1893
+ "agentName": {
1894
+ "type": "string",
1895
+ "minLength": 1
1896
+ },
1897
+ "toolName": {
1898
+ "type": "string",
1899
+ "minLength": 1
1900
+ },
1901
+ "preview": {
1902
+ "$ref": "#/$defs/sharedSchema0"
1903
+ },
1904
+ "reason": {
1905
+ "type": "string"
1906
+ }
1907
+ },
1908
+ "required": [
1909
+ "id",
1910
+ "turnId",
1911
+ "agentName",
1912
+ "toolName",
1913
+ "preview"
1914
+ ],
1915
+ "additionalProperties": false
1916
+ }
1917
+ },
1918
+ "transcriptCompleteness": {
1919
+ "type": "string",
1920
+ "enum": [
1921
+ "complete",
1922
+ "legacy_snapshot"
1923
+ ]
1924
+ },
1925
+ "pendingInteractions": {
1926
+ "type": "array",
1927
+ "items": {
1928
+ "anyOf": [
1929
+ {
1930
+ "readOnly": true,
1931
+ "type": "object",
1932
+ "properties": {
1933
+ "method": {
1934
+ "type": "string",
1935
+ "const": "approval.request"
1936
+ },
1937
+ "interactionId": {
1938
+ "type": "string",
1939
+ "format": "uuid",
1940
+ "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)$"
1941
+ },
1942
+ "threadId": {
1943
+ "type": "string",
1944
+ "format": "uuid",
1945
+ "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)$"
1946
+ },
1947
+ "turnId": {
1948
+ "type": "string",
1949
+ "format": "uuid",
1950
+ "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)$"
1951
+ },
1952
+ "expiresAt": {
1953
+ "type": "string",
1954
+ "format": "date-time",
1955
+ "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})))$"
1956
+ },
1957
+ "sensitivity": {
1958
+ "type": "string",
1959
+ "const": "normal"
1960
+ },
1961
+ "approvalId": {
1962
+ "type": "string",
1963
+ "format": "uuid",
1964
+ "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)$"
1965
+ }
1966
+ },
1967
+ "required": [
1968
+ "method",
1969
+ "interactionId",
1970
+ "threadId",
1971
+ "turnId",
1972
+ "expiresAt",
1973
+ "sensitivity",
1974
+ "approvalId"
1975
+ ],
1976
+ "additionalProperties": false
1977
+ },
1978
+ {
1979
+ "readOnly": true,
1980
+ "type": "object",
1981
+ "properties": {
1982
+ "interactionId": {
1983
+ "type": "string",
1984
+ "format": "uuid",
1985
+ "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)$"
1986
+ },
1987
+ "threadId": {
1988
+ "type": "string",
1989
+ "format": "uuid",
1990
+ "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)$"
1991
+ },
1992
+ "turnId": {
1993
+ "type": "string",
1994
+ "format": "uuid",
1995
+ "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)$"
1996
+ },
1997
+ "expiresAt": {
1998
+ "type": "string",
1999
+ "format": "date-time",
2000
+ "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})))$"
2001
+ },
2002
+ "sensitivity": {
2003
+ "type": "string",
2004
+ "enum": [
2005
+ "normal"
2006
+ ]
2007
+ },
2008
+ "title": {
2009
+ "type": "string",
2010
+ "minLength": 1,
2011
+ "maxLength": 200
2012
+ },
2013
+ "description": {
2014
+ "type": "string",
2015
+ "minLength": 1,
2016
+ "maxLength": 500
2017
+ },
2018
+ "controls": {
2019
+ "minItems": 1,
2020
+ "maxItems": 16,
2021
+ "type": "array",
2022
+ "items": {
2023
+ "anyOf": [
2024
+ {
2025
+ "readOnly": true,
2026
+ "type": "object",
2027
+ "properties": {
2028
+ "type": {
2029
+ "type": "string",
2030
+ "const": "text"
2031
+ },
2032
+ "id": {
2033
+ "type": "string",
2034
+ "minLength": 1,
2035
+ "maxLength": 64
2036
+ },
2037
+ "label": {
2038
+ "type": "string",
2039
+ "minLength": 1,
2040
+ "maxLength": 200
2041
+ },
2042
+ "description": {
2043
+ "type": "string",
2044
+ "minLength": 1,
2045
+ "maxLength": 500
2046
+ },
2047
+ "required": {
2048
+ "type": "boolean"
2049
+ },
2050
+ "minLength": {
2051
+ "type": "integer",
2052
+ "minimum": 0,
2053
+ "maximum": 10000
2054
+ },
2055
+ "maxLength": {
2056
+ "type": "integer",
2057
+ "minimum": 0,
2058
+ "maximum": 10000
2059
+ }
2060
+ },
2061
+ "required": [
2062
+ "type",
2063
+ "id",
2064
+ "label",
2065
+ "required"
2066
+ ],
2067
+ "additionalProperties": false
2068
+ },
2069
+ {
2070
+ "readOnly": true,
2071
+ "type": "object",
2072
+ "properties": {
2073
+ "type": {
2074
+ "type": "string",
2075
+ "const": "multiline"
2076
+ },
2077
+ "id": {
2078
+ "type": "string",
2079
+ "minLength": 1,
2080
+ "maxLength": 64
2081
+ },
2082
+ "label": {
2083
+ "type": "string",
2084
+ "minLength": 1,
2085
+ "maxLength": 200
2086
+ },
2087
+ "description": {
2088
+ "type": "string",
2089
+ "minLength": 1,
2090
+ "maxLength": 500
2091
+ },
2092
+ "required": {
2093
+ "type": "boolean"
2094
+ },
2095
+ "minLength": {
2096
+ "type": "integer",
2097
+ "minimum": 0,
2098
+ "maximum": 10000
2099
+ },
2100
+ "maxLength": {
2101
+ "type": "integer",
2102
+ "minimum": 0,
2103
+ "maximum": 10000
2104
+ }
2105
+ },
2106
+ "required": [
2107
+ "type",
2108
+ "id",
2109
+ "label",
2110
+ "required"
2111
+ ],
2112
+ "additionalProperties": false
2113
+ },
2114
+ {
2115
+ "readOnly": true,
2116
+ "type": "object",
2117
+ "properties": {
2118
+ "type": {
2119
+ "type": "string",
2120
+ "const": "number"
2121
+ },
2122
+ "id": {
2123
+ "type": "string",
2124
+ "minLength": 1,
2125
+ "maxLength": 64
2126
+ },
2127
+ "label": {
2128
+ "type": "string",
2129
+ "minLength": 1,
2130
+ "maxLength": 200
2131
+ },
2132
+ "description": {
2133
+ "type": "string",
2134
+ "minLength": 1,
2135
+ "maxLength": 500
2136
+ },
2137
+ "required": {
2138
+ "type": "boolean"
2139
+ },
2140
+ "min": {
2141
+ "type": "number"
2142
+ },
2143
+ "max": {
2144
+ "type": "number"
2145
+ },
2146
+ "integer": {
2147
+ "type": "boolean"
2148
+ }
2149
+ },
2150
+ "required": [
2151
+ "type",
2152
+ "id",
2153
+ "label",
2154
+ "required"
2155
+ ],
2156
+ "additionalProperties": false
2157
+ },
2158
+ {
2159
+ "readOnly": true,
2160
+ "type": "object",
2161
+ "properties": {
2162
+ "type": {
2163
+ "type": "string",
2164
+ "const": "boolean"
2165
+ },
2166
+ "id": {
2167
+ "type": "string",
2168
+ "minLength": 1,
2169
+ "maxLength": 64
2170
+ },
2171
+ "label": {
2172
+ "type": "string",
2173
+ "minLength": 1,
2174
+ "maxLength": 200
2175
+ },
2176
+ "description": {
2177
+ "type": "string",
2178
+ "minLength": 1,
2179
+ "maxLength": 500
2180
+ },
2181
+ "required": {
2182
+ "type": "boolean"
2183
+ }
2184
+ },
2185
+ "required": [
2186
+ "type",
2187
+ "id",
2188
+ "label",
2189
+ "required"
2190
+ ],
2191
+ "additionalProperties": false
2192
+ },
2193
+ {
2194
+ "readOnly": true,
2195
+ "type": "object",
2196
+ "properties": {
2197
+ "type": {
2198
+ "type": "string",
2199
+ "const": "choice"
2200
+ },
2201
+ "id": {
2202
+ "type": "string",
2203
+ "minLength": 1,
2204
+ "maxLength": 64
2205
+ },
2206
+ "label": {
2207
+ "type": "string",
2208
+ "minLength": 1,
2209
+ "maxLength": 200
2210
+ },
2211
+ "description": {
2212
+ "type": "string",
2213
+ "minLength": 1,
2214
+ "maxLength": 500
2215
+ },
2216
+ "required": {
2217
+ "type": "boolean"
2218
+ },
2219
+ "multiple": {
2220
+ "type": "boolean"
2221
+ },
2222
+ "options": {
2223
+ "minItems": 1,
2224
+ "maxItems": 50,
2225
+ "type": "array",
2226
+ "items": {
2227
+ "readOnly": true,
2228
+ "type": "object",
2229
+ "properties": {
2230
+ "id": {
2231
+ "type": "string",
2232
+ "minLength": 1,
2233
+ "maxLength": 64
2234
+ },
2235
+ "label": {
2236
+ "type": "string",
2237
+ "minLength": 1,
2238
+ "maxLength": 200
2239
+ },
2240
+ "description": {
2241
+ "type": "string",
2242
+ "minLength": 1,
2243
+ "maxLength": 500
2244
+ }
2245
+ },
2246
+ "required": [
2247
+ "id",
2248
+ "label"
2249
+ ],
2250
+ "additionalProperties": false
2251
+ }
2252
+ },
2253
+ "minSelections": {
2254
+ "type": "integer",
2255
+ "minimum": 0,
2256
+ "maximum": 50
2257
+ },
2258
+ "maxSelections": {
2259
+ "type": "integer",
2260
+ "minimum": 1,
2261
+ "maximum": 50
2262
+ }
2263
+ },
2264
+ "required": [
2265
+ "type",
2266
+ "id",
2267
+ "label",
2268
+ "required",
2269
+ "multiple",
2270
+ "options"
2271
+ ],
2272
+ "additionalProperties": false
2273
+ }
2274
+ ]
2275
+ }
2276
+ },
2277
+ "method": {
2278
+ "type": "string",
2279
+ "const": "userInput.request"
2280
+ }
2281
+ },
2282
+ "required": [
2283
+ "interactionId",
2284
+ "threadId",
2285
+ "turnId",
2286
+ "expiresAt",
2287
+ "sensitivity",
2288
+ "controls",
2289
+ "method"
2290
+ ],
2291
+ "additionalProperties": false
2292
+ }
2293
+ ]
2294
+ }
2295
+ }
2296
+ },
2297
+ "required": [
2298
+ "thread",
2299
+ "messages",
2300
+ "operations",
2301
+ "pendingApprovals",
2302
+ "transcriptCompleteness",
2303
+ "pendingInteractions"
2304
+ ],
2305
+ "additionalProperties": false
2306
+ },
2307
+ "threadRenameParams": {
2308
+ "readOnly": true,
2309
+ "type": "object",
2310
+ "properties": {
2311
+ "requestId": {
2312
+ "type": "string",
2313
+ "format": "uuid",
2314
+ "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)$"
2315
+ },
2316
+ "threadId": {
2317
+ "type": "string",
2318
+ "format": "uuid",
2319
+ "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)$"
2320
+ },
2321
+ "title": {
2322
+ "type": "string",
2323
+ "minLength": 1,
2324
+ "maxLength": 200
2325
+ }
2326
+ },
2327
+ "required": [
2328
+ "requestId",
2329
+ "threadId",
2330
+ "title"
2331
+ ],
2332
+ "additionalProperties": false
2333
+ },
2334
+ "threadRenameResult": {
2335
+ "readOnly": true,
2336
+ "type": "object",
2337
+ "properties": {
2338
+ "thread": {
2339
+ "readOnly": true,
2340
+ "type": "object",
2341
+ "properties": {
2342
+ "id": {
2343
+ "type": "string",
2344
+ "format": "uuid",
2345
+ "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)$"
2346
+ },
2347
+ "title": {
2348
+ "type": "string"
2349
+ },
2350
+ "model": {
2351
+ "type": "string"
2352
+ },
2353
+ "createdAt": {
2354
+ "type": "string",
2355
+ "format": "date-time",
2356
+ "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})))$"
2357
+ },
2358
+ "updatedAt": {
2359
+ "type": "string",
2360
+ "format": "date-time",
2361
+ "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})))$"
2362
+ },
2363
+ "messageCount": {
2364
+ "type": "integer",
2365
+ "minimum": 0,
2366
+ "maximum": 9007199254740991
2367
+ }
2368
+ },
2369
+ "required": [
2370
+ "id",
2371
+ "createdAt",
2372
+ "updatedAt",
2373
+ "messageCount"
2374
+ ],
2375
+ "additionalProperties": false
2376
+ }
2377
+ },
2378
+ "required": [
2379
+ "thread"
2380
+ ],
2381
+ "additionalProperties": false
2382
+ },
2383
+ "threadDeleteParams": {
2384
+ "readOnly": true,
2385
+ "type": "object",
2386
+ "properties": {
2387
+ "requestId": {
2388
+ "type": "string",
2389
+ "format": "uuid",
2390
+ "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)$"
2391
+ },
2392
+ "threadId": {
2393
+ "type": "string",
2394
+ "format": "uuid",
2395
+ "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)$"
2396
+ }
2397
+ },
2398
+ "required": [
2399
+ "requestId",
2400
+ "threadId"
2401
+ ],
2402
+ "additionalProperties": false
2403
+ },
2404
+ "threadDeleteResult": {
2405
+ "readOnly": true,
2406
+ "type": "object",
2407
+ "properties": {
2408
+ "deleted": {
2409
+ "type": "boolean",
2410
+ "const": true
2411
+ }
2412
+ },
2413
+ "required": [
2414
+ "deleted"
2415
+ ],
2416
+ "additionalProperties": false
2417
+ },
2418
+ "threadDetachParams": {
2419
+ "readOnly": true,
2420
+ "type": "object",
2421
+ "properties": {
2422
+ "requestId": {
2423
+ "type": "string",
2424
+ "format": "uuid",
2425
+ "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)$"
2426
+ },
2427
+ "threadId": {
2428
+ "type": "string",
2429
+ "format": "uuid",
2430
+ "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)$"
2431
+ }
2432
+ },
2433
+ "required": [
2434
+ "requestId",
2435
+ "threadId"
2436
+ ],
2437
+ "additionalProperties": false
2438
+ },
2439
+ "threadDetachResult": {
2440
+ "readOnly": true,
2441
+ "type": "object",
2442
+ "properties": {
2443
+ "detached": {
2444
+ "type": "boolean"
2445
+ }
2446
+ },
2447
+ "required": [
2448
+ "detached"
2449
+ ],
2450
+ "additionalProperties": false
2451
+ },
2452
+ "threadCapabilitiesParams": {
2453
+ "readOnly": true,
2454
+ "type": "object",
2455
+ "properties": {
2456
+ "threadId": {
2457
+ "type": "string",
2458
+ "format": "uuid",
2459
+ "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)$"
2460
+ }
2461
+ },
2462
+ "required": [
2463
+ "threadId"
2464
+ ],
2465
+ "additionalProperties": false
2466
+ },
2467
+ "threadCapabilitiesResult": {
2468
+ "readOnly": true,
2469
+ "type": "object",
2470
+ "properties": {
2471
+ "manifest": {
2472
+ "$ref": "#/$defs/sharedSchema0"
2473
+ }
2474
+ },
2475
+ "required": [
2476
+ "manifest"
2477
+ ],
2478
+ "additionalProperties": false
2479
+ },
2480
+ "turnStartParams": {
2481
+ "readOnly": true,
2482
+ "type": "object",
2483
+ "properties": {
2484
+ "requestId": {
2485
+ "type": "string",
2486
+ "format": "uuid",
2487
+ "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)$"
2488
+ },
2489
+ "threadId": {
2490
+ "type": "string",
2491
+ "format": "uuid",
2492
+ "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)$"
2493
+ },
2494
+ "turnId": {
2495
+ "type": "string",
2496
+ "format": "uuid",
2497
+ "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)$"
2498
+ },
2499
+ "input": {
2500
+ "readOnly": true,
2501
+ "type": "object",
2502
+ "properties": {
2503
+ "text": {
2504
+ "type": "string",
2505
+ "minLength": 1
2506
+ }
2507
+ },
2508
+ "required": [
2509
+ "text"
2510
+ ],
2511
+ "additionalProperties": false
2512
+ }
2513
+ },
2514
+ "required": [
2515
+ "requestId",
2516
+ "threadId",
2517
+ "turnId",
2518
+ "input"
2519
+ ],
2520
+ "additionalProperties": false
2521
+ },
2522
+ "turnStartResult": {
2523
+ "readOnly": true,
2524
+ "type": "object",
2525
+ "properties": {
2526
+ "accepted": {
2527
+ "type": "boolean",
2528
+ "const": true
2529
+ },
2530
+ "turnId": {
2531
+ "type": "string",
2532
+ "format": "uuid",
2533
+ "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)$"
2534
+ }
2535
+ },
2536
+ "required": [
2537
+ "accepted",
2538
+ "turnId"
2539
+ ],
2540
+ "additionalProperties": false
2541
+ },
2542
+ "turnCancelParams": {
2543
+ "readOnly": true,
2544
+ "type": "object",
2545
+ "properties": {
2546
+ "requestId": {
2547
+ "type": "string",
2548
+ "format": "uuid",
2549
+ "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)$"
2550
+ },
2551
+ "threadId": {
2552
+ "type": "string",
2553
+ "format": "uuid",
2554
+ "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)$"
2555
+ },
2556
+ "turnId": {
2557
+ "type": "string",
2558
+ "format": "uuid",
2559
+ "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)$"
2560
+ }
2561
+ },
2562
+ "required": [
2563
+ "requestId",
2564
+ "threadId",
2565
+ "turnId"
2566
+ ],
2567
+ "additionalProperties": false
2568
+ },
2569
+ "turnCancelResult": {
2570
+ "readOnly": true,
2571
+ "type": "object",
2572
+ "properties": {
2573
+ "cancelling": {
2574
+ "type": "boolean"
2575
+ }
2576
+ },
2577
+ "required": [
2578
+ "cancelling"
2579
+ ],
2580
+ "additionalProperties": false
2581
+ },
2582
+ "approvalRespondParams": {
2583
+ "readOnly": true,
2584
+ "type": "object",
2585
+ "properties": {
2586
+ "requestId": {
2587
+ "type": "string",
2588
+ "format": "uuid",
2589
+ "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)$"
2590
+ },
2591
+ "threadId": {
2592
+ "type": "string",
2593
+ "format": "uuid",
2594
+ "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)$"
2595
+ },
2596
+ "turnId": {
2597
+ "type": "string",
2598
+ "format": "uuid",
2599
+ "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)$"
2600
+ },
2601
+ "approvalId": {
2602
+ "type": "string",
2603
+ "format": "uuid",
2604
+ "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)$"
2605
+ },
2606
+ "decision": {
2607
+ "type": "string",
2608
+ "enum": [
2609
+ "approve",
2610
+ "reject"
2611
+ ]
2612
+ },
2613
+ "reason": {
2614
+ "type": "string",
2615
+ "minLength": 1
2616
+ }
2617
+ },
2618
+ "required": [
2619
+ "requestId",
2620
+ "threadId",
2621
+ "turnId",
2622
+ "approvalId",
2623
+ "decision"
2624
+ ],
2625
+ "additionalProperties": false
2626
+ },
2627
+ "approvalRespondResult": {
2628
+ "readOnly": true,
2629
+ "type": "object",
2630
+ "properties": {
2631
+ "resolved": {
2632
+ "type": "boolean",
2633
+ "const": true
2634
+ }
2635
+ },
2636
+ "required": [
2637
+ "resolved"
2638
+ ],
2639
+ "additionalProperties": false
2640
+ },
2641
+ "operationGetParams": {
2642
+ "readOnly": true,
2643
+ "type": "object",
2644
+ "properties": {
2645
+ "threadId": {
2646
+ "type": "string",
2647
+ "format": "uuid",
2648
+ "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)$"
2649
+ },
2650
+ "operationId": {
2651
+ "type": "string",
2652
+ "format": "uuid",
2653
+ "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)$"
2654
+ }
2655
+ },
2656
+ "required": [
2657
+ "threadId",
2658
+ "operationId"
2659
+ ],
2660
+ "additionalProperties": false
2661
+ },
2662
+ "operationGetResult": {
2663
+ "readOnly": true,
2664
+ "type": "object",
2665
+ "properties": {
2666
+ "operation": {
2667
+ "anyOf": [
2668
+ {
2669
+ "readOnly": true,
2670
+ "type": "object",
2671
+ "properties": {
2672
+ "id": {
2673
+ "type": "string",
2674
+ "format": "uuid",
2675
+ "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)$"
2676
+ },
2677
+ "sequence": {
2678
+ "type": "integer",
2679
+ "minimum": 0,
2680
+ "maximum": 9007199254740991
2681
+ },
2682
+ "toolCallId": {
2683
+ "type": "string",
2684
+ "minLength": 1
2685
+ },
2686
+ "agentName": {
2687
+ "type": "string",
2688
+ "minLength": 1
2689
+ },
2690
+ "toolName": {
2691
+ "type": "string",
2692
+ "minLength": 1
2693
+ },
2694
+ "createdAt": {
2695
+ "type": "string",
2696
+ "format": "date-time",
2697
+ "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})))$"
2698
+ },
2699
+ "outcome": {
2700
+ "readOnly": true,
2701
+ "type": "object",
2702
+ "properties": {
2703
+ "kind": {
2704
+ "type": "string",
2705
+ "enum": [
2706
+ "success",
2707
+ "user_rejected",
2708
+ "policy_denied",
2709
+ "invalid_input",
2710
+ "cancelled",
2711
+ "tool_failed"
2712
+ ]
2713
+ },
2714
+ "reason": {
2715
+ "type": "string"
2716
+ }
2717
+ },
2718
+ "required": [
2719
+ "kind"
2720
+ ],
2721
+ "additionalProperties": false
2722
+ },
2723
+ "display": {
2724
+ "$ref": "#/$defs/sharedSchema0"
2725
+ }
2726
+ },
2727
+ "required": [
2728
+ "id",
2729
+ "sequence",
2730
+ "toolCallId",
2731
+ "agentName",
2732
+ "toolName",
2733
+ "createdAt",
2734
+ "outcome",
2735
+ "display"
2736
+ ],
2737
+ "additionalProperties": false
2738
+ },
2739
+ {
2740
+ "type": "null"
2741
+ }
2742
+ ]
2743
+ }
2744
+ },
2745
+ "required": [
2746
+ "operation"
2747
+ ],
2748
+ "additionalProperties": false
2749
+ },
2750
+ "clientCapabilitiesSetParams": {
2751
+ "readOnly": true,
2752
+ "type": "object",
2753
+ "properties": {
2754
+ "revision": {
2755
+ "type": "integer",
2756
+ "minimum": 1,
2757
+ "maximum": 9007199254740991
2758
+ },
2759
+ "serverRequestMethods": {
2760
+ "maxItems": 64,
2761
+ "type": "array",
2762
+ "items": {
2763
+ "type": "string",
2764
+ "minLength": 1,
2765
+ "maxLength": 100
2766
+ },
2767
+ "uniqueItems": true
2768
+ }
2769
+ },
2770
+ "required": [
2771
+ "revision",
2772
+ "serverRequestMethods"
2773
+ ],
2774
+ "additionalProperties": false
2775
+ },
2776
+ "clientCapabilitiesSetResult": {
2777
+ "readOnly": true,
2778
+ "type": "object",
2779
+ "properties": {
2780
+ "revision": {
2781
+ "type": "integer",
2782
+ "minimum": 1,
2783
+ "maximum": 9007199254740991
2784
+ },
2785
+ "acceptedServerRequestMethods": {
2786
+ "maxItems": 64,
2787
+ "type": "array",
2788
+ "items": {
2789
+ "type": "string",
2790
+ "enum": [
2791
+ "approval.request",
2792
+ "userInput.request"
2793
+ ]
2794
+ },
2795
+ "uniqueItems": true
2796
+ }
2797
+ },
2798
+ "required": [
2799
+ "revision",
2800
+ "acceptedServerRequestMethods"
2801
+ ],
2802
+ "additionalProperties": false
2803
+ },
2804
+ "approvalRequestParams": {
2805
+ "readOnly": true,
2806
+ "type": "object",
2807
+ "properties": {
2808
+ "interactionId": {
2809
+ "type": "string",
2810
+ "format": "uuid",
2811
+ "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)$"
2812
+ },
2813
+ "threadId": {
2814
+ "type": "string",
2815
+ "format": "uuid",
2816
+ "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)$"
2817
+ },
2818
+ "turnId": {
2819
+ "type": "string",
2820
+ "format": "uuid",
2821
+ "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)$"
2822
+ },
2823
+ "expiresAt": {
2824
+ "type": "string",
2825
+ "format": "date-time",
2826
+ "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})))$"
2827
+ },
2828
+ "sensitivity": {
2829
+ "type": "string",
2830
+ "const": "normal"
2831
+ },
2832
+ "approval": {
2833
+ "readOnly": true,
2834
+ "type": "object",
2835
+ "properties": {
2836
+ "id": {
2837
+ "type": "string",
2838
+ "format": "uuid",
2839
+ "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)$"
2840
+ },
2841
+ "turnId": {
2842
+ "type": "string",
2843
+ "format": "uuid",
2844
+ "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)$"
2845
+ },
2846
+ "agentName": {
2847
+ "type": "string",
2848
+ "minLength": 1
2849
+ },
2850
+ "toolName": {
2851
+ "type": "string",
2852
+ "minLength": 1
2853
+ },
2854
+ "preview": {
2855
+ "$ref": "#/$defs/sharedSchema0"
2856
+ },
2857
+ "reason": {
2858
+ "type": "string"
2859
+ }
2860
+ },
2861
+ "required": [
2862
+ "id",
2863
+ "turnId",
2864
+ "agentName",
2865
+ "toolName",
2866
+ "preview"
2867
+ ],
2868
+ "additionalProperties": false
2869
+ }
2870
+ },
2871
+ "required": [
2872
+ "interactionId",
2873
+ "threadId",
2874
+ "turnId",
2875
+ "expiresAt",
2876
+ "sensitivity",
2877
+ "approval"
2878
+ ],
2879
+ "additionalProperties": false
2880
+ },
2881
+ "approvalRequestResult": {
2882
+ "anyOf": [
2883
+ {
2884
+ "readOnly": true,
2885
+ "type": "object",
2886
+ "properties": {
2887
+ "decision": {
2888
+ "type": "string",
2889
+ "const": "approve"
2890
+ }
2891
+ },
2892
+ "required": [
2893
+ "decision"
2894
+ ],
2895
+ "additionalProperties": false
2896
+ },
2897
+ {
2898
+ "readOnly": true,
2899
+ "type": "object",
2900
+ "properties": {
2901
+ "decision": {
2902
+ "type": "string",
2903
+ "const": "reject"
2904
+ },
2905
+ "reason": {
2906
+ "type": "string",
2907
+ "minLength": 1
2908
+ }
2909
+ },
2910
+ "required": [
2911
+ "decision"
2912
+ ],
2913
+ "additionalProperties": false
2914
+ }
2915
+ ]
2916
+ },
2917
+ "userInputRequestParams": {
2918
+ "readOnly": true,
2919
+ "type": "object",
2920
+ "properties": {
2921
+ "interactionId": {
2922
+ "type": "string",
2923
+ "format": "uuid",
2924
+ "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)$"
2925
+ },
2926
+ "threadId": {
2927
+ "type": "string",
2928
+ "format": "uuid",
2929
+ "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)$"
2930
+ },
2931
+ "turnId": {
2932
+ "type": "string",
2933
+ "format": "uuid",
2934
+ "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)$"
2935
+ },
2936
+ "expiresAt": {
2937
+ "type": "string",
2938
+ "format": "date-time",
2939
+ "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})))$"
2940
+ },
2941
+ "sensitivity": {
2942
+ "type": "string",
2943
+ "enum": [
2944
+ "normal"
2945
+ ]
2946
+ },
2947
+ "title": {
2948
+ "type": "string",
2949
+ "minLength": 1,
2950
+ "maxLength": 200
2951
+ },
2952
+ "description": {
2953
+ "type": "string",
2954
+ "minLength": 1,
2955
+ "maxLength": 500
2956
+ },
2957
+ "controls": {
2958
+ "minItems": 1,
2959
+ "maxItems": 16,
2960
+ "type": "array",
2961
+ "items": {
2962
+ "anyOf": [
2963
+ {
2964
+ "readOnly": true,
2965
+ "type": "object",
2966
+ "properties": {
2967
+ "type": {
2968
+ "type": "string",
2969
+ "const": "text"
2970
+ },
2971
+ "id": {
2972
+ "type": "string",
2973
+ "minLength": 1,
2974
+ "maxLength": 64
2975
+ },
2976
+ "label": {
2977
+ "type": "string",
2978
+ "minLength": 1,
2979
+ "maxLength": 200
2980
+ },
2981
+ "description": {
2982
+ "type": "string",
2983
+ "minLength": 1,
2984
+ "maxLength": 500
2985
+ },
2986
+ "required": {
2987
+ "type": "boolean"
2988
+ },
2989
+ "minLength": {
2990
+ "type": "integer",
2991
+ "minimum": 0,
2992
+ "maximum": 10000
2993
+ },
2994
+ "maxLength": {
2995
+ "type": "integer",
2996
+ "minimum": 0,
2997
+ "maximum": 10000
2998
+ }
2999
+ },
3000
+ "required": [
3001
+ "type",
3002
+ "id",
3003
+ "label",
3004
+ "required"
3005
+ ],
3006
+ "additionalProperties": false
3007
+ },
3008
+ {
3009
+ "readOnly": true,
3010
+ "type": "object",
3011
+ "properties": {
3012
+ "type": {
3013
+ "type": "string",
3014
+ "const": "multiline"
3015
+ },
3016
+ "id": {
3017
+ "type": "string",
3018
+ "minLength": 1,
3019
+ "maxLength": 64
3020
+ },
3021
+ "label": {
3022
+ "type": "string",
3023
+ "minLength": 1,
3024
+ "maxLength": 200
3025
+ },
3026
+ "description": {
3027
+ "type": "string",
3028
+ "minLength": 1,
3029
+ "maxLength": 500
3030
+ },
3031
+ "required": {
3032
+ "type": "boolean"
3033
+ },
3034
+ "minLength": {
3035
+ "type": "integer",
3036
+ "minimum": 0,
3037
+ "maximum": 10000
3038
+ },
3039
+ "maxLength": {
3040
+ "type": "integer",
3041
+ "minimum": 0,
3042
+ "maximum": 10000
3043
+ }
3044
+ },
3045
+ "required": [
3046
+ "type",
3047
+ "id",
3048
+ "label",
3049
+ "required"
3050
+ ],
3051
+ "additionalProperties": false
3052
+ },
3053
+ {
3054
+ "readOnly": true,
3055
+ "type": "object",
3056
+ "properties": {
3057
+ "type": {
3058
+ "type": "string",
3059
+ "const": "number"
3060
+ },
3061
+ "id": {
3062
+ "type": "string",
3063
+ "minLength": 1,
3064
+ "maxLength": 64
3065
+ },
3066
+ "label": {
3067
+ "type": "string",
3068
+ "minLength": 1,
3069
+ "maxLength": 200
3070
+ },
3071
+ "description": {
3072
+ "type": "string",
3073
+ "minLength": 1,
3074
+ "maxLength": 500
3075
+ },
3076
+ "required": {
3077
+ "type": "boolean"
3078
+ },
3079
+ "min": {
3080
+ "type": "number"
3081
+ },
3082
+ "max": {
3083
+ "type": "number"
3084
+ },
3085
+ "integer": {
3086
+ "type": "boolean"
3087
+ }
3088
+ },
3089
+ "required": [
3090
+ "type",
3091
+ "id",
3092
+ "label",
3093
+ "required"
3094
+ ],
3095
+ "additionalProperties": false
3096
+ },
3097
+ {
3098
+ "readOnly": true,
3099
+ "type": "object",
3100
+ "properties": {
3101
+ "type": {
3102
+ "type": "string",
3103
+ "const": "boolean"
3104
+ },
3105
+ "id": {
3106
+ "type": "string",
3107
+ "minLength": 1,
3108
+ "maxLength": 64
3109
+ },
3110
+ "label": {
3111
+ "type": "string",
3112
+ "minLength": 1,
3113
+ "maxLength": 200
3114
+ },
3115
+ "description": {
3116
+ "type": "string",
3117
+ "minLength": 1,
3118
+ "maxLength": 500
3119
+ },
3120
+ "required": {
3121
+ "type": "boolean"
3122
+ }
3123
+ },
3124
+ "required": [
3125
+ "type",
3126
+ "id",
3127
+ "label",
3128
+ "required"
3129
+ ],
3130
+ "additionalProperties": false
3131
+ },
3132
+ {
3133
+ "readOnly": true,
3134
+ "type": "object",
3135
+ "properties": {
3136
+ "type": {
3137
+ "type": "string",
3138
+ "const": "choice"
3139
+ },
3140
+ "id": {
3141
+ "type": "string",
3142
+ "minLength": 1,
3143
+ "maxLength": 64
3144
+ },
3145
+ "label": {
3146
+ "type": "string",
3147
+ "minLength": 1,
3148
+ "maxLength": 200
3149
+ },
3150
+ "description": {
3151
+ "type": "string",
3152
+ "minLength": 1,
3153
+ "maxLength": 500
3154
+ },
3155
+ "required": {
3156
+ "type": "boolean"
3157
+ },
3158
+ "multiple": {
3159
+ "type": "boolean"
3160
+ },
3161
+ "options": {
3162
+ "minItems": 1,
3163
+ "maxItems": 50,
3164
+ "type": "array",
3165
+ "items": {
3166
+ "readOnly": true,
3167
+ "type": "object",
3168
+ "properties": {
3169
+ "id": {
3170
+ "type": "string",
3171
+ "minLength": 1,
3172
+ "maxLength": 64
3173
+ },
3174
+ "label": {
3175
+ "type": "string",
3176
+ "minLength": 1,
3177
+ "maxLength": 200
3178
+ },
3179
+ "description": {
3180
+ "type": "string",
3181
+ "minLength": 1,
3182
+ "maxLength": 500
3183
+ }
3184
+ },
3185
+ "required": [
3186
+ "id",
3187
+ "label"
3188
+ ],
3189
+ "additionalProperties": false
3190
+ }
3191
+ },
3192
+ "minSelections": {
3193
+ "type": "integer",
3194
+ "minimum": 0,
3195
+ "maximum": 50
3196
+ },
3197
+ "maxSelections": {
3198
+ "type": "integer",
3199
+ "minimum": 1,
3200
+ "maximum": 50
3201
+ }
3202
+ },
3203
+ "required": [
3204
+ "type",
3205
+ "id",
3206
+ "label",
3207
+ "required",
3208
+ "multiple",
3209
+ "options"
3210
+ ],
3211
+ "additionalProperties": false
3212
+ }
3213
+ ]
3214
+ }
3215
+ }
3216
+ },
3217
+ "required": [
3218
+ "interactionId",
3219
+ "threadId",
3220
+ "turnId",
3221
+ "expiresAt",
3222
+ "sensitivity",
3223
+ "controls"
3224
+ ],
3225
+ "additionalProperties": false
3226
+ },
3227
+ "userInputRequestResult": {
3228
+ "anyOf": [
3229
+ {
3230
+ "readOnly": true,
3231
+ "type": "object",
3232
+ "properties": {
3233
+ "status": {
3234
+ "type": "string",
3235
+ "const": "submitted"
3236
+ },
3237
+ "values": {
3238
+ "maxItems": 16,
3239
+ "type": "array",
3240
+ "items": {
3241
+ "readOnly": true,
3242
+ "type": "object",
3243
+ "properties": {
3244
+ "id": {
3245
+ "type": "string",
3246
+ "minLength": 1,
3247
+ "maxLength": 64
3248
+ },
3249
+ "value": {
3250
+ "anyOf": [
3251
+ {
3252
+ "type": "string",
3253
+ "maxLength": 10000
3254
+ },
3255
+ {
3256
+ "type": "number"
3257
+ },
3258
+ {
3259
+ "type": "boolean"
3260
+ },
3261
+ {
3262
+ "maxItems": 50,
3263
+ "type": "array",
3264
+ "items": {
3265
+ "type": "string",
3266
+ "maxLength": 64
3267
+ }
3268
+ }
3269
+ ]
3270
+ }
3271
+ },
3272
+ "required": [
3273
+ "id",
3274
+ "value"
3275
+ ],
3276
+ "additionalProperties": false
3277
+ }
3278
+ }
3279
+ },
3280
+ "required": [
3281
+ "status",
3282
+ "values"
3283
+ ],
3284
+ "additionalProperties": false
3285
+ },
3286
+ {
3287
+ "readOnly": true,
3288
+ "type": "object",
3289
+ "properties": {
3290
+ "status": {
3291
+ "type": "string",
3292
+ "const": "cancelled"
3293
+ },
3294
+ "reason": {
3295
+ "type": "string",
3296
+ "minLength": 1,
3297
+ "maxLength": 500
3298
+ }
3299
+ },
3300
+ "required": [
3301
+ "status"
3302
+ ],
3303
+ "additionalProperties": false
3304
+ }
3305
+ ]
3306
+ },
3307
+ "sharedSchema0": {
3308
+ "anyOf": [
3309
+ {
3310
+ "type": "string"
3311
+ },
3312
+ {
3313
+ "type": "number"
3314
+ },
3315
+ {
3316
+ "type": "boolean"
3317
+ },
3318
+ {
3319
+ "type": "null"
3320
+ },
3321
+ {
3322
+ "type": "array",
3323
+ "items": {
3324
+ "$ref": "#/$defs/sharedSchema0"
3325
+ }
3326
+ },
3327
+ {
3328
+ "type": "object",
3329
+ "propertyNames": {
3330
+ "type": "string"
3331
+ },
3332
+ "additionalProperties": {
3333
+ "$ref": "#/$defs/sharedSchema0"
3334
+ }
3335
+ }
3336
+ ]
3337
+ },
3338
+ "initializeRequest": {
3339
+ "type": "object",
3340
+ "properties": {
3341
+ "jsonrpc": {
3342
+ "const": "2.0"
3343
+ },
3344
+ "id": {
3345
+ "$ref": "#/$defs/jsonRpcId"
3346
+ },
3347
+ "method": {
3348
+ "const": "initialize"
3349
+ },
3350
+ "params": {
3351
+ "$ref": "#/$defs/initializeParams"
3352
+ }
3353
+ },
3354
+ "required": [
3355
+ "jsonrpc",
3356
+ "id",
3357
+ "method",
3358
+ "params"
3359
+ ],
3360
+ "additionalProperties": false
3361
+ },
3362
+ "threadListRequest": {
3363
+ "type": "object",
3364
+ "properties": {
3365
+ "jsonrpc": {
3366
+ "const": "2.0"
3367
+ },
3368
+ "id": {
3369
+ "$ref": "#/$defs/jsonRpcId"
3370
+ },
3371
+ "method": {
3372
+ "const": "thread.list"
3373
+ },
3374
+ "params": {
3375
+ "$ref": "#/$defs/threadListParams"
3376
+ }
3377
+ },
3378
+ "required": [
3379
+ "jsonrpc",
3380
+ "id",
3381
+ "method",
3382
+ "params"
3383
+ ],
3384
+ "additionalProperties": false
3385
+ },
3386
+ "threadCreateRequest": {
3387
+ "type": "object",
3388
+ "properties": {
3389
+ "jsonrpc": {
3390
+ "const": "2.0"
3391
+ },
3392
+ "id": {
3393
+ "$ref": "#/$defs/jsonRpcId"
3394
+ },
3395
+ "method": {
3396
+ "const": "thread.create"
3397
+ },
3398
+ "params": {
3399
+ "$ref": "#/$defs/threadCreateParams"
3400
+ }
3401
+ },
3402
+ "required": [
3403
+ "jsonrpc",
3404
+ "id",
3405
+ "method",
3406
+ "params"
3407
+ ],
3408
+ "additionalProperties": false
3409
+ },
3410
+ "threadOpenRequest": {
3411
+ "type": "object",
3412
+ "properties": {
3413
+ "jsonrpc": {
3414
+ "const": "2.0"
3415
+ },
3416
+ "id": {
3417
+ "$ref": "#/$defs/jsonRpcId"
3418
+ },
3419
+ "method": {
3420
+ "const": "thread.open"
3421
+ },
3422
+ "params": {
3423
+ "$ref": "#/$defs/threadOpenParams"
3424
+ }
3425
+ },
3426
+ "required": [
3427
+ "jsonrpc",
3428
+ "id",
3429
+ "method",
3430
+ "params"
3431
+ ],
3432
+ "additionalProperties": false
3433
+ },
3434
+ "threadSnapshotRequest": {
3435
+ "type": "object",
3436
+ "properties": {
3437
+ "jsonrpc": {
3438
+ "const": "2.0"
3439
+ },
3440
+ "id": {
3441
+ "$ref": "#/$defs/jsonRpcId"
3442
+ },
3443
+ "method": {
3444
+ "const": "thread.snapshot"
3445
+ },
3446
+ "params": {
3447
+ "$ref": "#/$defs/threadSnapshotParams"
3448
+ }
3449
+ },
3450
+ "required": [
3451
+ "jsonrpc",
3452
+ "id",
3453
+ "method",
3454
+ "params"
3455
+ ],
3456
+ "additionalProperties": false
3457
+ },
3458
+ "threadRenameRequest": {
3459
+ "type": "object",
3460
+ "properties": {
3461
+ "jsonrpc": {
3462
+ "const": "2.0"
3463
+ },
3464
+ "id": {
3465
+ "$ref": "#/$defs/jsonRpcId"
3466
+ },
3467
+ "method": {
3468
+ "const": "thread.rename"
3469
+ },
3470
+ "params": {
3471
+ "$ref": "#/$defs/threadRenameParams"
3472
+ }
3473
+ },
3474
+ "required": [
3475
+ "jsonrpc",
3476
+ "id",
3477
+ "method",
3478
+ "params"
3479
+ ],
3480
+ "additionalProperties": false
3481
+ },
3482
+ "threadDeleteRequest": {
3483
+ "type": "object",
3484
+ "properties": {
3485
+ "jsonrpc": {
3486
+ "const": "2.0"
3487
+ },
3488
+ "id": {
3489
+ "$ref": "#/$defs/jsonRpcId"
3490
+ },
3491
+ "method": {
3492
+ "const": "thread.delete"
3493
+ },
3494
+ "params": {
3495
+ "$ref": "#/$defs/threadDeleteParams"
3496
+ }
3497
+ },
3498
+ "required": [
3499
+ "jsonrpc",
3500
+ "id",
3501
+ "method",
3502
+ "params"
3503
+ ],
3504
+ "additionalProperties": false
3505
+ },
3506
+ "threadDetachRequest": {
3507
+ "type": "object",
3508
+ "properties": {
3509
+ "jsonrpc": {
3510
+ "const": "2.0"
3511
+ },
3512
+ "id": {
3513
+ "$ref": "#/$defs/jsonRpcId"
3514
+ },
3515
+ "method": {
3516
+ "const": "thread.detach"
3517
+ },
3518
+ "params": {
3519
+ "$ref": "#/$defs/threadDetachParams"
3520
+ }
3521
+ },
3522
+ "required": [
3523
+ "jsonrpc",
3524
+ "id",
3525
+ "method",
3526
+ "params"
3527
+ ],
3528
+ "additionalProperties": false
3529
+ },
3530
+ "threadCapabilitiesRequest": {
3531
+ "type": "object",
3532
+ "properties": {
3533
+ "jsonrpc": {
3534
+ "const": "2.0"
3535
+ },
3536
+ "id": {
3537
+ "$ref": "#/$defs/jsonRpcId"
3538
+ },
3539
+ "method": {
3540
+ "const": "thread.capabilities"
3541
+ },
3542
+ "params": {
3543
+ "$ref": "#/$defs/threadCapabilitiesParams"
3544
+ }
3545
+ },
3546
+ "required": [
3547
+ "jsonrpc",
3548
+ "id",
3549
+ "method",
3550
+ "params"
3551
+ ],
3552
+ "additionalProperties": false
3553
+ },
3554
+ "turnStartRequest": {
3555
+ "type": "object",
3556
+ "properties": {
3557
+ "jsonrpc": {
3558
+ "const": "2.0"
3559
+ },
3560
+ "id": {
3561
+ "$ref": "#/$defs/jsonRpcId"
3562
+ },
3563
+ "method": {
3564
+ "const": "turn.start"
3565
+ },
3566
+ "params": {
3567
+ "$ref": "#/$defs/turnStartParams"
3568
+ }
3569
+ },
3570
+ "required": [
3571
+ "jsonrpc",
3572
+ "id",
3573
+ "method",
3574
+ "params"
3575
+ ],
3576
+ "additionalProperties": false
3577
+ },
3578
+ "turnCancelRequest": {
3579
+ "type": "object",
3580
+ "properties": {
3581
+ "jsonrpc": {
3582
+ "const": "2.0"
3583
+ },
3584
+ "id": {
3585
+ "$ref": "#/$defs/jsonRpcId"
3586
+ },
3587
+ "method": {
3588
+ "const": "turn.cancel"
3589
+ },
3590
+ "params": {
3591
+ "$ref": "#/$defs/turnCancelParams"
3592
+ }
3593
+ },
3594
+ "required": [
3595
+ "jsonrpc",
3596
+ "id",
3597
+ "method",
3598
+ "params"
3599
+ ],
3600
+ "additionalProperties": false
3601
+ },
3602
+ "approvalRespondRequest": {
3603
+ "type": "object",
3604
+ "properties": {
3605
+ "jsonrpc": {
3606
+ "const": "2.0"
3607
+ },
3608
+ "id": {
3609
+ "$ref": "#/$defs/jsonRpcId"
3610
+ },
3611
+ "method": {
3612
+ "const": "approval.respond"
3613
+ },
3614
+ "params": {
3615
+ "$ref": "#/$defs/approvalRespondParams"
3616
+ }
3617
+ },
3618
+ "required": [
3619
+ "jsonrpc",
3620
+ "id",
3621
+ "method",
3622
+ "params"
3623
+ ],
3624
+ "additionalProperties": false
3625
+ },
3626
+ "operationGetRequest": {
3627
+ "type": "object",
3628
+ "properties": {
3629
+ "jsonrpc": {
3630
+ "const": "2.0"
3631
+ },
3632
+ "id": {
3633
+ "$ref": "#/$defs/jsonRpcId"
3634
+ },
3635
+ "method": {
3636
+ "const": "operation.get"
3637
+ },
3638
+ "params": {
3639
+ "$ref": "#/$defs/operationGetParams"
3640
+ }
3641
+ },
3642
+ "required": [
3643
+ "jsonrpc",
3644
+ "id",
3645
+ "method",
3646
+ "params"
3647
+ ],
3648
+ "additionalProperties": false
3649
+ },
3650
+ "clientCapabilitiesSetRequest": {
3651
+ "type": "object",
3652
+ "properties": {
3653
+ "jsonrpc": {
3654
+ "const": "2.0"
3655
+ },
3656
+ "id": {
3657
+ "$ref": "#/$defs/jsonRpcId"
3658
+ },
3659
+ "method": {
3660
+ "const": "client.capabilities.set"
3661
+ },
3662
+ "params": {
3663
+ "$ref": "#/$defs/clientCapabilitiesSetParams"
3664
+ }
3665
+ },
3666
+ "required": [
3667
+ "jsonrpc",
3668
+ "id",
3669
+ "method",
3670
+ "params"
3671
+ ],
3672
+ "additionalProperties": false
3673
+ },
3674
+ "approvalRequestServerRequest": {
3675
+ "type": "object",
3676
+ "properties": {
3677
+ "jsonrpc": {
3678
+ "const": "2.0"
3679
+ },
3680
+ "id": {
3681
+ "$ref": "#/$defs/jsonRpcId"
3682
+ },
3683
+ "method": {
3684
+ "const": "approval.request"
3685
+ },
3686
+ "params": {
3687
+ "$ref": "#/$defs/approvalRequestParams"
3688
+ }
3689
+ },
3690
+ "required": [
3691
+ "jsonrpc",
3692
+ "id",
3693
+ "method",
3694
+ "params"
3695
+ ],
3696
+ "additionalProperties": false
3697
+ },
3698
+ "userInputRequestServerRequest": {
3699
+ "type": "object",
3700
+ "properties": {
3701
+ "jsonrpc": {
3702
+ "const": "2.0"
3703
+ },
3704
+ "id": {
3705
+ "$ref": "#/$defs/jsonRpcId"
3706
+ },
3707
+ "method": {
3708
+ "const": "userInput.request"
3709
+ },
3710
+ "params": {
3711
+ "$ref": "#/$defs/userInputRequestParams"
3712
+ }
3713
+ },
3714
+ "required": [
3715
+ "jsonrpc",
3716
+ "id",
3717
+ "method",
3718
+ "params"
3719
+ ],
3720
+ "additionalProperties": false
3721
+ },
3722
+ "clientRequest": {
3723
+ "oneOf": [
3724
+ {
3725
+ "$ref": "#/$defs/initializeRequest"
3726
+ },
3727
+ {
3728
+ "$ref": "#/$defs/threadListRequest"
3729
+ },
3730
+ {
3731
+ "$ref": "#/$defs/threadCreateRequest"
3732
+ },
3733
+ {
3734
+ "$ref": "#/$defs/threadOpenRequest"
3735
+ },
3736
+ {
3737
+ "$ref": "#/$defs/threadSnapshotRequest"
3738
+ },
3739
+ {
3740
+ "$ref": "#/$defs/threadRenameRequest"
3741
+ },
3742
+ {
3743
+ "$ref": "#/$defs/threadDeleteRequest"
3744
+ },
3745
+ {
3746
+ "$ref": "#/$defs/threadDetachRequest"
3747
+ },
3748
+ {
3749
+ "$ref": "#/$defs/threadCapabilitiesRequest"
3750
+ },
3751
+ {
3752
+ "$ref": "#/$defs/turnStartRequest"
3753
+ },
3754
+ {
3755
+ "$ref": "#/$defs/turnCancelRequest"
3756
+ },
3757
+ {
3758
+ "$ref": "#/$defs/approvalRespondRequest"
3759
+ },
3760
+ {
3761
+ "$ref": "#/$defs/operationGetRequest"
3762
+ },
3763
+ {
3764
+ "$ref": "#/$defs/clientCapabilitiesSetRequest"
3765
+ }
3766
+ ]
3767
+ },
3768
+ "serverRequest": {
3769
+ "oneOf": [
3770
+ {
3771
+ "$ref": "#/$defs/approvalRequestServerRequest"
3772
+ },
3773
+ {
3774
+ "$ref": "#/$defs/userInputRequestServerRequest"
3775
+ }
3776
+ ]
3777
+ },
3778
+ "runtimeEventNotification": {
3779
+ "type": "object",
3780
+ "properties": {
3781
+ "jsonrpc": {
3782
+ "const": "2.0"
3783
+ },
3784
+ "method": {
3785
+ "const": "runtime.event"
3786
+ },
3787
+ "params": {
3788
+ "$ref": "#/$defs/runtimeEventEnvelope"
3789
+ }
3790
+ },
3791
+ "required": [
3792
+ "jsonrpc",
3793
+ "method",
3794
+ "params"
3795
+ ],
3796
+ "additionalProperties": false
3797
+ },
3798
+ "runtimeServerRequestCancelNotification": {
3799
+ "type": "object",
3800
+ "properties": {
3801
+ "jsonrpc": {
3802
+ "const": "2.0"
3803
+ },
3804
+ "method": {
3805
+ "const": "runtime.serverRequest.cancel"
3806
+ },
3807
+ "params": {
3808
+ "$ref": "#/$defs/runtimeServerRequestCancelParams"
3809
+ }
3810
+ },
3811
+ "required": [
3812
+ "jsonrpc",
3813
+ "method",
3814
+ "params"
3815
+ ],
3816
+ "additionalProperties": false
3817
+ },
3818
+ "successResponse": {
3819
+ "type": "object",
3820
+ "properties": {
3821
+ "jsonrpc": {
3822
+ "const": "2.0"
3823
+ },
3824
+ "id": {
3825
+ "$ref": "#/$defs/jsonRpcId"
3826
+ },
3827
+ "result": {
3828
+ "anyOf": [
3829
+ {
3830
+ "$ref": "#/$defs/initializeResult"
3831
+ },
3832
+ {
3833
+ "$ref": "#/$defs/threadListResult"
3834
+ },
3835
+ {
3836
+ "$ref": "#/$defs/threadCreateResult"
3837
+ },
3838
+ {
3839
+ "$ref": "#/$defs/threadOpenResult"
3840
+ },
3841
+ {
3842
+ "$ref": "#/$defs/threadSnapshotResult"
3843
+ },
3844
+ {
3845
+ "$ref": "#/$defs/threadRenameResult"
3846
+ },
3847
+ {
3848
+ "$ref": "#/$defs/threadDeleteResult"
3849
+ },
3850
+ {
3851
+ "$ref": "#/$defs/threadDetachResult"
3852
+ },
3853
+ {
3854
+ "$ref": "#/$defs/threadCapabilitiesResult"
3855
+ },
3856
+ {
3857
+ "$ref": "#/$defs/turnStartResult"
3858
+ },
3859
+ {
3860
+ "$ref": "#/$defs/turnCancelResult"
3861
+ },
3862
+ {
3863
+ "$ref": "#/$defs/approvalRespondResult"
3864
+ },
3865
+ {
3866
+ "$ref": "#/$defs/operationGetResult"
3867
+ },
3868
+ {
3869
+ "$ref": "#/$defs/clientCapabilitiesSetResult"
3870
+ },
3871
+ {
3872
+ "$ref": "#/$defs/approvalRequestResult"
3873
+ },
3874
+ {
3875
+ "$ref": "#/$defs/userInputRequestResult"
3876
+ }
3877
+ ]
3878
+ }
3879
+ },
3880
+ "required": [
3881
+ "jsonrpc",
3882
+ "id",
3883
+ "result"
3884
+ ],
3885
+ "additionalProperties": false
3886
+ },
3887
+ "errorResponse": {
3888
+ "type": "object",
3889
+ "properties": {
3890
+ "jsonrpc": {
3891
+ "const": "2.0"
3892
+ },
3893
+ "id": {
3894
+ "oneOf": [
3895
+ {
3896
+ "$ref": "#/$defs/jsonRpcId"
3897
+ },
3898
+ {
3899
+ "type": "null"
3900
+ }
3901
+ ]
3902
+ },
3903
+ "error": {
3904
+ "type": "object",
3905
+ "properties": {
3906
+ "code": {
3907
+ "type": "integer"
3908
+ },
3909
+ "message": {
3910
+ "type": "string"
3911
+ },
3912
+ "data": {
3913
+ "$ref": "#/$defs/runtimeProtocolErrorData"
3914
+ }
3915
+ },
3916
+ "required": [
3917
+ "code",
3918
+ "message"
3919
+ ],
3920
+ "additionalProperties": false
3921
+ }
3922
+ },
3923
+ "required": [
3924
+ "jsonrpc",
3925
+ "id",
3926
+ "error"
3927
+ ],
3928
+ "additionalProperties": false
3929
+ }
3930
+ },
3931
+ "x-roll-protocol-version": "1.2",
3932
+ "x-roll-methods": {
3933
+ "initialize": {
3934
+ "params": {
3935
+ "$ref": "#/$defs/initializeParams"
3936
+ },
3937
+ "result": {
3938
+ "$ref": "#/$defs/initializeResult"
3939
+ },
3940
+ "request": {
3941
+ "$ref": "#/$defs/initializeRequest"
3942
+ }
3943
+ },
3944
+ "thread.list": {
3945
+ "params": {
3946
+ "$ref": "#/$defs/threadListParams"
3947
+ },
3948
+ "result": {
3949
+ "$ref": "#/$defs/threadListResult"
3950
+ },
3951
+ "request": {
3952
+ "$ref": "#/$defs/threadListRequest"
3953
+ }
3954
+ },
3955
+ "thread.create": {
3956
+ "params": {
3957
+ "$ref": "#/$defs/threadCreateParams"
3958
+ },
3959
+ "result": {
3960
+ "$ref": "#/$defs/threadCreateResult"
3961
+ },
3962
+ "request": {
3963
+ "$ref": "#/$defs/threadCreateRequest"
3964
+ }
3965
+ },
3966
+ "thread.open": {
3967
+ "params": {
3968
+ "$ref": "#/$defs/threadOpenParams"
3969
+ },
3970
+ "result": {
3971
+ "$ref": "#/$defs/threadOpenResult"
3972
+ },
3973
+ "request": {
3974
+ "$ref": "#/$defs/threadOpenRequest"
3975
+ }
3976
+ },
3977
+ "thread.snapshot": {
3978
+ "params": {
3979
+ "$ref": "#/$defs/threadSnapshotParams"
3980
+ },
3981
+ "result": {
3982
+ "$ref": "#/$defs/threadSnapshotResult"
3983
+ },
3984
+ "request": {
3985
+ "$ref": "#/$defs/threadSnapshotRequest"
3986
+ }
3987
+ },
3988
+ "thread.rename": {
3989
+ "params": {
3990
+ "$ref": "#/$defs/threadRenameParams"
3991
+ },
3992
+ "result": {
3993
+ "$ref": "#/$defs/threadRenameResult"
3994
+ },
3995
+ "request": {
3996
+ "$ref": "#/$defs/threadRenameRequest"
3997
+ }
3998
+ },
3999
+ "thread.delete": {
4000
+ "params": {
4001
+ "$ref": "#/$defs/threadDeleteParams"
4002
+ },
4003
+ "result": {
4004
+ "$ref": "#/$defs/threadDeleteResult"
4005
+ },
4006
+ "request": {
4007
+ "$ref": "#/$defs/threadDeleteRequest"
4008
+ }
4009
+ },
4010
+ "thread.detach": {
4011
+ "params": {
4012
+ "$ref": "#/$defs/threadDetachParams"
4013
+ },
4014
+ "result": {
4015
+ "$ref": "#/$defs/threadDetachResult"
4016
+ },
4017
+ "request": {
4018
+ "$ref": "#/$defs/threadDetachRequest"
4019
+ }
4020
+ },
4021
+ "thread.capabilities": {
4022
+ "params": {
4023
+ "$ref": "#/$defs/threadCapabilitiesParams"
4024
+ },
4025
+ "result": {
4026
+ "$ref": "#/$defs/threadCapabilitiesResult"
4027
+ },
4028
+ "request": {
4029
+ "$ref": "#/$defs/threadCapabilitiesRequest"
4030
+ }
4031
+ },
4032
+ "turn.start": {
4033
+ "params": {
4034
+ "$ref": "#/$defs/turnStartParams"
4035
+ },
4036
+ "result": {
4037
+ "$ref": "#/$defs/turnStartResult"
4038
+ },
4039
+ "request": {
4040
+ "$ref": "#/$defs/turnStartRequest"
4041
+ }
4042
+ },
4043
+ "turn.cancel": {
4044
+ "params": {
4045
+ "$ref": "#/$defs/turnCancelParams"
4046
+ },
4047
+ "result": {
4048
+ "$ref": "#/$defs/turnCancelResult"
4049
+ },
4050
+ "request": {
4051
+ "$ref": "#/$defs/turnCancelRequest"
4052
+ }
4053
+ },
4054
+ "approval.respond": {
4055
+ "params": {
4056
+ "$ref": "#/$defs/approvalRespondParams"
4057
+ },
4058
+ "result": {
4059
+ "$ref": "#/$defs/approvalRespondResult"
4060
+ },
4061
+ "request": {
4062
+ "$ref": "#/$defs/approvalRespondRequest"
4063
+ }
4064
+ },
4065
+ "operation.get": {
4066
+ "params": {
4067
+ "$ref": "#/$defs/operationGetParams"
4068
+ },
4069
+ "result": {
4070
+ "$ref": "#/$defs/operationGetResult"
4071
+ },
4072
+ "request": {
4073
+ "$ref": "#/$defs/operationGetRequest"
4074
+ }
4075
+ },
4076
+ "client.capabilities.set": {
4077
+ "params": {
4078
+ "$ref": "#/$defs/clientCapabilitiesSetParams"
4079
+ },
4080
+ "result": {
4081
+ "$ref": "#/$defs/clientCapabilitiesSetResult"
4082
+ },
4083
+ "request": {
4084
+ "$ref": "#/$defs/clientCapabilitiesSetRequest"
4085
+ }
4086
+ }
4087
+ },
4088
+ "x-roll-server-request-methods": {
4089
+ "approval.request": {
4090
+ "params": {
4091
+ "$ref": "#/$defs/approvalRequestParams"
4092
+ },
4093
+ "result": {
4094
+ "$ref": "#/$defs/approvalRequestResult"
4095
+ },
4096
+ "request": {
4097
+ "$ref": "#/$defs/approvalRequestServerRequest"
4098
+ }
4099
+ },
4100
+ "userInput.request": {
4101
+ "params": {
4102
+ "$ref": "#/$defs/userInputRequestParams"
4103
+ },
4104
+ "result": {
4105
+ "$ref": "#/$defs/userInputRequestResult"
4106
+ },
4107
+ "request": {
4108
+ "$ref": "#/$defs/userInputRequestServerRequest"
4109
+ }
4110
+ }
4111
+ }
4112
+ }