@roll-agent/protocol 0.4.0 → 0.5.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://roll-agent.dev/schemas/runtime-protocol/1.3",
4
- "title": "Roll Runtime Protocol v1.3",
3
+ "$id": "urn:roll-agent:schema:runtime-protocol:1.4",
4
+ "title": "Roll Runtime Protocol v1.4",
5
5
  "description": "Bidirectional JSON-RPC requests, responses, and notifications for Roll Runtime Protocol.",
6
6
  "oneOf": [
7
7
  {
@@ -42,7 +42,7 @@
42
42
  "properties": {
43
43
  "protocolVersion": {
44
44
  "type": "string",
45
- "const": "1.3"
45
+ "const": "1.4"
46
46
  },
47
47
  "runtimeInstanceId": {
48
48
  "type": "string",
@@ -441,7 +441,7 @@
441
441
  "properties": {
442
442
  "protocolVersion": {
443
443
  "type": "string",
444
- "const": "1.3"
444
+ "const": "1.4"
445
445
  },
446
446
  "runtimeInstanceId": {
447
447
  "type": "string",
@@ -652,7 +652,15 @@
652
652
  "INTERNAL_ERROR",
653
653
  "CAPABILITY_REVISION_CONFLICT",
654
654
  "EVENT_CURSOR_EXPIRED",
655
- "EVENT_CURSOR_GAP"
655
+ "EVENT_CURSOR_GAP",
656
+ "ATTACHMENT_NOT_FOUND",
657
+ "ATTACHMENT_NOT_COMMITTED",
658
+ "ATTACHMENT_TOO_LARGE",
659
+ "ATTACHMENT_TYPE_UNSUPPORTED",
660
+ "ATTACHMENT_HASH_MISMATCH",
661
+ "ATTACHMENT_QUOTA_EXCEEDED",
662
+ "ATTACHMENT_UPLOAD_INCOMPLETE",
663
+ "ATTACHMENT_PATH_REJECTED"
656
664
  ]
657
665
  },
658
666
  "retryable": {
@@ -734,7 +742,7 @@
734
742
  "properties": {
735
743
  "protocolVersion": {
736
744
  "type": "string",
737
- "const": "1.3"
745
+ "const": "1.4"
738
746
  },
739
747
  "runtimeInstanceId": {
740
748
  "type": "string",
@@ -780,7 +788,8 @@
780
788
  "tool-streaming",
781
789
  "reasoning-summary",
782
790
  "operation-projection",
783
- "process-local-sequence"
791
+ "process-local-sequence",
792
+ "attachments"
784
793
  ]
785
794
  }
786
795
  },
@@ -806,13 +815,37 @@
806
815
  "type": "integer",
807
816
  "exclusiveMinimum": 0,
808
817
  "maximum": 9007199254740991
818
+ },
819
+ "maxAttachmentBytes": {
820
+ "type": "integer",
821
+ "exclusiveMinimum": 0,
822
+ "maximum": 9007199254740991
823
+ },
824
+ "maxAttachmentChunkBytes": {
825
+ "type": "integer",
826
+ "exclusiveMinimum": 0,
827
+ "maximum": 9007199254740991
828
+ },
829
+ "maxTurnAttachments": {
830
+ "type": "integer",
831
+ "exclusiveMinimum": 0,
832
+ "maximum": 9007199254740991
833
+ },
834
+ "maxStagedAttachments": {
835
+ "type": "integer",
836
+ "exclusiveMinimum": 0,
837
+ "maximum": 9007199254740991
809
838
  }
810
839
  },
811
840
  "required": [
812
841
  "maxFrameBytes",
813
842
  "maxPageSize",
814
843
  "eventReplay",
815
- "idempotencyCacheEntries"
844
+ "idempotencyCacheEntries",
845
+ "maxAttachmentBytes",
846
+ "maxAttachmentChunkBytes",
847
+ "maxTurnAttachments",
848
+ "maxStagedAttachments"
816
849
  ],
817
850
  "additionalProperties": false
818
851
  }
@@ -1069,22 +1102,56 @@
1069
1102
  "parts": {
1070
1103
  "type": "array",
1071
1104
  "items": {
1072
- "readOnly": true,
1073
- "type": "object",
1074
- "properties": {
1075
- "type": {
1076
- "type": "string",
1077
- "const": "text"
1105
+ "anyOf": [
1106
+ {
1107
+ "readOnly": true,
1108
+ "type": "object",
1109
+ "properties": {
1110
+ "type": {
1111
+ "type": "string",
1112
+ "const": "text"
1113
+ },
1114
+ "text": {
1115
+ "type": "string"
1116
+ }
1117
+ },
1118
+ "required": [
1119
+ "type",
1120
+ "text"
1121
+ ],
1122
+ "additionalProperties": false
1078
1123
  },
1079
- "text": {
1080
- "type": "string"
1124
+ {
1125
+ "readOnly": true,
1126
+ "type": "object",
1127
+ "properties": {
1128
+ "type": {
1129
+ "type": "string",
1130
+ "const": "attachment"
1131
+ },
1132
+ "mediaType": {
1133
+ "type": "string",
1134
+ "minLength": 1
1135
+ },
1136
+ "bytes": {
1137
+ "type": "integer",
1138
+ "minimum": 0,
1139
+ "maximum": 9007199254740991
1140
+ },
1141
+ "displayName": {
1142
+ "type": "string",
1143
+ "minLength": 1,
1144
+ "maxLength": 255
1145
+ }
1146
+ },
1147
+ "required": [
1148
+ "type",
1149
+ "mediaType",
1150
+ "bytes"
1151
+ ],
1152
+ "additionalProperties": false
1081
1153
  }
1082
- },
1083
- "required": [
1084
- "type",
1085
- "text"
1086
- ],
1087
- "additionalProperties": false
1154
+ ]
1088
1155
  }
1089
1156
  }
1090
1157
  },
@@ -2485,22 +2552,56 @@
2485
2552
  "parts": {
2486
2553
  "type": "array",
2487
2554
  "items": {
2488
- "readOnly": true,
2489
- "type": "object",
2490
- "properties": {
2491
- "type": {
2492
- "type": "string",
2493
- "const": "text"
2555
+ "anyOf": [
2556
+ {
2557
+ "readOnly": true,
2558
+ "type": "object",
2559
+ "properties": {
2560
+ "type": {
2561
+ "type": "string",
2562
+ "const": "text"
2563
+ },
2564
+ "text": {
2565
+ "type": "string"
2566
+ }
2567
+ },
2568
+ "required": [
2569
+ "type",
2570
+ "text"
2571
+ ],
2572
+ "additionalProperties": false
2494
2573
  },
2495
- "text": {
2496
- "type": "string"
2574
+ {
2575
+ "readOnly": true,
2576
+ "type": "object",
2577
+ "properties": {
2578
+ "type": {
2579
+ "type": "string",
2580
+ "const": "attachment"
2581
+ },
2582
+ "mediaType": {
2583
+ "type": "string",
2584
+ "minLength": 1
2585
+ },
2586
+ "bytes": {
2587
+ "type": "integer",
2588
+ "minimum": 0,
2589
+ "maximum": 9007199254740991
2590
+ },
2591
+ "displayName": {
2592
+ "type": "string",
2593
+ "minLength": 1,
2594
+ "maxLength": 255
2595
+ }
2596
+ },
2597
+ "required": [
2598
+ "type",
2599
+ "mediaType",
2600
+ "bytes"
2601
+ ],
2602
+ "additionalProperties": false
2497
2603
  }
2498
- },
2499
- "required": [
2500
- "type",
2501
- "text"
2502
- ],
2503
- "additionalProperties": false
2604
+ ]
2504
2605
  }
2505
2606
  }
2506
2607
  },
@@ -3987,8 +4088,17 @@
3987
4088
  "type": "object",
3988
4089
  "properties": {
3989
4090
  "text": {
3990
- "type": "string",
3991
- "minLength": 1
4091
+ "type": "string"
4092
+ },
4093
+ "attachments": {
4094
+ "minItems": 1,
4095
+ "maxItems": 8,
4096
+ "type": "array",
4097
+ "items": {
4098
+ "type": "string",
4099
+ "format": "uuid",
4100
+ "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)$"
4101
+ }
3992
4102
  }
3993
4103
  },
3994
4104
  "required": [
@@ -4249,8 +4359,7 @@
4249
4359
  "type": "string",
4250
4360
  "minLength": 1,
4251
4361
  "maxLength": 100
4252
- },
4253
- "uniqueItems": true
4362
+ }
4254
4363
  }
4255
4364
  },
4256
4365
  "required": [
@@ -4277,8 +4386,7 @@
4277
4386
  "approval.request",
4278
4387
  "userInput.request"
4279
4388
  ]
4280
- },
4281
- "uniqueItems": true
4389
+ }
4282
4390
  }
4283
4391
  },
4284
4392
  "required": [
@@ -4343,6 +4451,360 @@
4343
4451
  ],
4344
4452
  "additionalProperties": false
4345
4453
  },
4454
+ "attachmentStageParams": {
4455
+ "readOnly": true,
4456
+ "type": "object",
4457
+ "properties": {
4458
+ "requestId": {
4459
+ "type": "string",
4460
+ "format": "uuid",
4461
+ "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)$"
4462
+ },
4463
+ "threadId": {
4464
+ "type": "string",
4465
+ "format": "uuid",
4466
+ "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)$"
4467
+ },
4468
+ "fileName": {
4469
+ "type": "string",
4470
+ "minLength": 1,
4471
+ "maxLength": 255
4472
+ },
4473
+ "mediaType": {
4474
+ "type": "string",
4475
+ "enum": [
4476
+ "image/png",
4477
+ "image/jpeg",
4478
+ "image/gif",
4479
+ "image/webp",
4480
+ "application/pdf",
4481
+ "text/plain",
4482
+ "text/markdown"
4483
+ ]
4484
+ },
4485
+ "bytes": {
4486
+ "type": "integer",
4487
+ "exclusiveMinimum": 0,
4488
+ "maximum": 16777216
4489
+ },
4490
+ "sha256": {
4491
+ "type": "string",
4492
+ "pattern": "^[a-f0-9]{64}$"
4493
+ },
4494
+ "source": {
4495
+ "type": "string",
4496
+ "enum": [
4497
+ "local-path",
4498
+ "chunks"
4499
+ ]
4500
+ },
4501
+ "sourcePath": {
4502
+ "type": "string",
4503
+ "minLength": 1
4504
+ }
4505
+ },
4506
+ "required": [
4507
+ "requestId",
4508
+ "threadId",
4509
+ "fileName",
4510
+ "mediaType",
4511
+ "bytes",
4512
+ "sha256",
4513
+ "source"
4514
+ ],
4515
+ "additionalProperties": false
4516
+ },
4517
+ "attachmentStageResult": {
4518
+ "readOnly": true,
4519
+ "type": "object",
4520
+ "properties": {
4521
+ "attachmentId": {
4522
+ "type": "string",
4523
+ "format": "uuid",
4524
+ "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)$"
4525
+ },
4526
+ "state": {
4527
+ "type": "string",
4528
+ "enum": [
4529
+ "staged",
4530
+ "committed"
4531
+ ]
4532
+ },
4533
+ "descriptor": {
4534
+ "readOnly": true,
4535
+ "type": "object",
4536
+ "properties": {
4537
+ "attachmentId": {
4538
+ "type": "string",
4539
+ "format": "uuid",
4540
+ "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)$"
4541
+ },
4542
+ "fileName": {
4543
+ "type": "string",
4544
+ "minLength": 1,
4545
+ "maxLength": 255
4546
+ },
4547
+ "displayName": {
4548
+ "type": "string",
4549
+ "minLength": 1,
4550
+ "maxLength": 255
4551
+ },
4552
+ "mediaType": {
4553
+ "type": "string",
4554
+ "enum": [
4555
+ "image/png",
4556
+ "image/jpeg",
4557
+ "image/gif",
4558
+ "image/webp",
4559
+ "application/pdf",
4560
+ "text/plain",
4561
+ "text/markdown"
4562
+ ]
4563
+ },
4564
+ "bytes": {
4565
+ "type": "integer",
4566
+ "exclusiveMinimum": 0,
4567
+ "maximum": 16777216
4568
+ },
4569
+ "sha256": {
4570
+ "type": "string",
4571
+ "pattern": "^[a-f0-9]{64}$"
4572
+ },
4573
+ "source": {
4574
+ "type": "string",
4575
+ "enum": [
4576
+ "local-path",
4577
+ "chunks"
4578
+ ]
4579
+ },
4580
+ "createdAt": {
4581
+ "type": "string",
4582
+ "format": "date-time",
4583
+ "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})))$"
4584
+ }
4585
+ },
4586
+ "required": [
4587
+ "attachmentId",
4588
+ "fileName",
4589
+ "displayName",
4590
+ "mediaType",
4591
+ "bytes",
4592
+ "sha256",
4593
+ "source",
4594
+ "createdAt"
4595
+ ],
4596
+ "additionalProperties": false
4597
+ }
4598
+ },
4599
+ "required": [
4600
+ "attachmentId",
4601
+ "state"
4602
+ ],
4603
+ "additionalProperties": false
4604
+ },
4605
+ "attachmentChunkParams": {
4606
+ "readOnly": true,
4607
+ "type": "object",
4608
+ "properties": {
4609
+ "requestId": {
4610
+ "type": "string",
4611
+ "format": "uuid",
4612
+ "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)$"
4613
+ },
4614
+ "threadId": {
4615
+ "type": "string",
4616
+ "format": "uuid",
4617
+ "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)$"
4618
+ },
4619
+ "attachmentId": {
4620
+ "type": "string",
4621
+ "format": "uuid",
4622
+ "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)$"
4623
+ },
4624
+ "sequence": {
4625
+ "type": "integer",
4626
+ "minimum": 0,
4627
+ "maximum": 9007199254740991
4628
+ },
4629
+ "dataBase64": {
4630
+ "type": "string",
4631
+ "minLength": 1,
4632
+ "maxLength": 2796208,
4633
+ "pattern": "^[A-Za-z0-9+/]+={0,2}$"
4634
+ }
4635
+ },
4636
+ "required": [
4637
+ "requestId",
4638
+ "threadId",
4639
+ "attachmentId",
4640
+ "sequence",
4641
+ "dataBase64"
4642
+ ],
4643
+ "additionalProperties": false
4644
+ },
4645
+ "attachmentChunkResult": {
4646
+ "readOnly": true,
4647
+ "type": "object",
4648
+ "properties": {
4649
+ "receivedBytes": {
4650
+ "type": "integer",
4651
+ "minimum": 0,
4652
+ "maximum": 9007199254740991
4653
+ },
4654
+ "nextSequence": {
4655
+ "type": "integer",
4656
+ "minimum": 0,
4657
+ "maximum": 9007199254740991
4658
+ }
4659
+ },
4660
+ "required": [
4661
+ "receivedBytes",
4662
+ "nextSequence"
4663
+ ],
4664
+ "additionalProperties": false
4665
+ },
4666
+ "attachmentCommitParams": {
4667
+ "readOnly": true,
4668
+ "type": "object",
4669
+ "properties": {
4670
+ "requestId": {
4671
+ "type": "string",
4672
+ "format": "uuid",
4673
+ "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)$"
4674
+ },
4675
+ "threadId": {
4676
+ "type": "string",
4677
+ "format": "uuid",
4678
+ "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)$"
4679
+ },
4680
+ "attachmentId": {
4681
+ "type": "string",
4682
+ "format": "uuid",
4683
+ "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)$"
4684
+ }
4685
+ },
4686
+ "required": [
4687
+ "requestId",
4688
+ "threadId",
4689
+ "attachmentId"
4690
+ ],
4691
+ "additionalProperties": false
4692
+ },
4693
+ "attachmentCommitResult": {
4694
+ "readOnly": true,
4695
+ "type": "object",
4696
+ "properties": {
4697
+ "descriptor": {
4698
+ "readOnly": true,
4699
+ "type": "object",
4700
+ "properties": {
4701
+ "attachmentId": {
4702
+ "type": "string",
4703
+ "format": "uuid",
4704
+ "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)$"
4705
+ },
4706
+ "fileName": {
4707
+ "type": "string",
4708
+ "minLength": 1,
4709
+ "maxLength": 255
4710
+ },
4711
+ "displayName": {
4712
+ "type": "string",
4713
+ "minLength": 1,
4714
+ "maxLength": 255
4715
+ },
4716
+ "mediaType": {
4717
+ "type": "string",
4718
+ "enum": [
4719
+ "image/png",
4720
+ "image/jpeg",
4721
+ "image/gif",
4722
+ "image/webp",
4723
+ "application/pdf",
4724
+ "text/plain",
4725
+ "text/markdown"
4726
+ ]
4727
+ },
4728
+ "bytes": {
4729
+ "type": "integer",
4730
+ "exclusiveMinimum": 0,
4731
+ "maximum": 16777216
4732
+ },
4733
+ "sha256": {
4734
+ "type": "string",
4735
+ "pattern": "^[a-f0-9]{64}$"
4736
+ },
4737
+ "source": {
4738
+ "type": "string",
4739
+ "enum": [
4740
+ "local-path",
4741
+ "chunks"
4742
+ ]
4743
+ },
4744
+ "createdAt": {
4745
+ "type": "string",
4746
+ "format": "date-time",
4747
+ "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})))$"
4748
+ }
4749
+ },
4750
+ "required": [
4751
+ "attachmentId",
4752
+ "fileName",
4753
+ "displayName",
4754
+ "mediaType",
4755
+ "bytes",
4756
+ "sha256",
4757
+ "source",
4758
+ "createdAt"
4759
+ ],
4760
+ "additionalProperties": false
4761
+ }
4762
+ },
4763
+ "required": [
4764
+ "descriptor"
4765
+ ],
4766
+ "additionalProperties": false
4767
+ },
4768
+ "attachmentReleaseParams": {
4769
+ "readOnly": true,
4770
+ "type": "object",
4771
+ "properties": {
4772
+ "requestId": {
4773
+ "type": "string",
4774
+ "format": "uuid",
4775
+ "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)$"
4776
+ },
4777
+ "threadId": {
4778
+ "type": "string",
4779
+ "format": "uuid",
4780
+ "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)$"
4781
+ },
4782
+ "attachmentId": {
4783
+ "type": "string",
4784
+ "format": "uuid",
4785
+ "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)$"
4786
+ }
4787
+ },
4788
+ "required": [
4789
+ "requestId",
4790
+ "threadId",
4791
+ "attachmentId"
4792
+ ],
4793
+ "additionalProperties": false
4794
+ },
4795
+ "attachmentReleaseResult": {
4796
+ "readOnly": true,
4797
+ "type": "object",
4798
+ "properties": {
4799
+ "released": {
4800
+ "type": "boolean"
4801
+ }
4802
+ },
4803
+ "required": [
4804
+ "released"
4805
+ ],
4806
+ "additionalProperties": false
4807
+ },
4346
4808
  "approvalRequestParams": {
4347
4809
  "readOnly": true,
4348
4810
  "type": "object",
@@ -5237,6 +5699,102 @@
5237
5699
  ],
5238
5700
  "additionalProperties": false
5239
5701
  },
5702
+ "attachmentStageRequest": {
5703
+ "type": "object",
5704
+ "properties": {
5705
+ "jsonrpc": {
5706
+ "const": "2.0"
5707
+ },
5708
+ "id": {
5709
+ "$ref": "#/$defs/jsonRpcId"
5710
+ },
5711
+ "method": {
5712
+ "const": "attachment.stage"
5713
+ },
5714
+ "params": {
5715
+ "$ref": "#/$defs/attachmentStageParams"
5716
+ }
5717
+ },
5718
+ "required": [
5719
+ "jsonrpc",
5720
+ "id",
5721
+ "method",
5722
+ "params"
5723
+ ],
5724
+ "additionalProperties": false
5725
+ },
5726
+ "attachmentChunkRequest": {
5727
+ "type": "object",
5728
+ "properties": {
5729
+ "jsonrpc": {
5730
+ "const": "2.0"
5731
+ },
5732
+ "id": {
5733
+ "$ref": "#/$defs/jsonRpcId"
5734
+ },
5735
+ "method": {
5736
+ "const": "attachment.chunk"
5737
+ },
5738
+ "params": {
5739
+ "$ref": "#/$defs/attachmentChunkParams"
5740
+ }
5741
+ },
5742
+ "required": [
5743
+ "jsonrpc",
5744
+ "id",
5745
+ "method",
5746
+ "params"
5747
+ ],
5748
+ "additionalProperties": false
5749
+ },
5750
+ "attachmentCommitRequest": {
5751
+ "type": "object",
5752
+ "properties": {
5753
+ "jsonrpc": {
5754
+ "const": "2.0"
5755
+ },
5756
+ "id": {
5757
+ "$ref": "#/$defs/jsonRpcId"
5758
+ },
5759
+ "method": {
5760
+ "const": "attachment.commit"
5761
+ },
5762
+ "params": {
5763
+ "$ref": "#/$defs/attachmentCommitParams"
5764
+ }
5765
+ },
5766
+ "required": [
5767
+ "jsonrpc",
5768
+ "id",
5769
+ "method",
5770
+ "params"
5771
+ ],
5772
+ "additionalProperties": false
5773
+ },
5774
+ "attachmentReleaseRequest": {
5775
+ "type": "object",
5776
+ "properties": {
5777
+ "jsonrpc": {
5778
+ "const": "2.0"
5779
+ },
5780
+ "id": {
5781
+ "$ref": "#/$defs/jsonRpcId"
5782
+ },
5783
+ "method": {
5784
+ "const": "attachment.release"
5785
+ },
5786
+ "params": {
5787
+ "$ref": "#/$defs/attachmentReleaseParams"
5788
+ }
5789
+ },
5790
+ "required": [
5791
+ "jsonrpc",
5792
+ "id",
5793
+ "method",
5794
+ "params"
5795
+ ],
5796
+ "additionalProperties": false
5797
+ },
5240
5798
  "approvalRequestServerRequest": {
5241
5799
  "type": "object",
5242
5800
  "properties": {
@@ -5331,6 +5889,18 @@
5331
5889
  },
5332
5890
  {
5333
5891
  "$ref": "#/$defs/runtimeEventsResumeRequest"
5892
+ },
5893
+ {
5894
+ "$ref": "#/$defs/attachmentStageRequest"
5895
+ },
5896
+ {
5897
+ "$ref": "#/$defs/attachmentChunkRequest"
5898
+ },
5899
+ {
5900
+ "$ref": "#/$defs/attachmentCommitRequest"
5901
+ },
5902
+ {
5903
+ "$ref": "#/$defs/attachmentReleaseRequest"
5334
5904
  }
5335
5905
  ]
5336
5906
  },
@@ -5440,6 +6010,18 @@
5440
6010
  {
5441
6011
  "$ref": "#/$defs/runtimeEventsResumeResult"
5442
6012
  },
6013
+ {
6014
+ "$ref": "#/$defs/attachmentStageResult"
6015
+ },
6016
+ {
6017
+ "$ref": "#/$defs/attachmentChunkResult"
6018
+ },
6019
+ {
6020
+ "$ref": "#/$defs/attachmentCommitResult"
6021
+ },
6022
+ {
6023
+ "$ref": "#/$defs/attachmentReleaseResult"
6024
+ },
5443
6025
  {
5444
6026
  "$ref": "#/$defs/approvalRequestResult"
5445
6027
  },
@@ -5500,7 +6082,7 @@
5500
6082
  "additionalProperties": false
5501
6083
  }
5502
6084
  },
5503
- "x-roll-protocol-version": "1.3",
6085
+ "x-roll-protocol-version": "1.4",
5504
6086
  "x-roll-methods": {
5505
6087
  "initialize": {
5506
6088
  "params": {
@@ -5666,6 +6248,50 @@
5666
6248
  "request": {
5667
6249
  "$ref": "#/$defs/runtimeEventsResumeRequest"
5668
6250
  }
6251
+ },
6252
+ "attachment.stage": {
6253
+ "params": {
6254
+ "$ref": "#/$defs/attachmentStageParams"
6255
+ },
6256
+ "result": {
6257
+ "$ref": "#/$defs/attachmentStageResult"
6258
+ },
6259
+ "request": {
6260
+ "$ref": "#/$defs/attachmentStageRequest"
6261
+ }
6262
+ },
6263
+ "attachment.chunk": {
6264
+ "params": {
6265
+ "$ref": "#/$defs/attachmentChunkParams"
6266
+ },
6267
+ "result": {
6268
+ "$ref": "#/$defs/attachmentChunkResult"
6269
+ },
6270
+ "request": {
6271
+ "$ref": "#/$defs/attachmentChunkRequest"
6272
+ }
6273
+ },
6274
+ "attachment.commit": {
6275
+ "params": {
6276
+ "$ref": "#/$defs/attachmentCommitParams"
6277
+ },
6278
+ "result": {
6279
+ "$ref": "#/$defs/attachmentCommitResult"
6280
+ },
6281
+ "request": {
6282
+ "$ref": "#/$defs/attachmentCommitRequest"
6283
+ }
6284
+ },
6285
+ "attachment.release": {
6286
+ "params": {
6287
+ "$ref": "#/$defs/attachmentReleaseParams"
6288
+ },
6289
+ "result": {
6290
+ "$ref": "#/$defs/attachmentReleaseResult"
6291
+ },
6292
+ "request": {
6293
+ "$ref": "#/$defs/attachmentReleaseRequest"
6294
+ }
5669
6295
  }
5670
6296
  },
5671
6297
  "x-roll-server-request-methods": {