@roll-agent/protocol 0.8.0 → 0.9.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": "urn:roll-agent:schema:runtime-protocol:1.5",
4
- "title": "Roll Runtime Protocol v1.5",
3
+ "$id": "urn:roll-agent:schema:runtime-protocol:1.6",
4
+ "title": "Roll Runtime Protocol v1.6",
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.5"
45
+ "const": "1.6"
46
46
  },
47
47
  "runtimeInstanceId": {
48
48
  "type": "string",
@@ -497,6 +497,57 @@
497
497
  "type"
498
498
  ],
499
499
  "additionalProperties": false
500
+ },
501
+ {
502
+ "readOnly": true,
503
+ "type": "object",
504
+ "properties": {
505
+ "type": {
506
+ "type": "string",
507
+ "const": "context.recovery.changed"
508
+ },
509
+ "contextRecovery": {
510
+ "anyOf": [
511
+ {
512
+ "readOnly": true,
513
+ "type": "object",
514
+ "properties": {
515
+ "checkpointId": {
516
+ "type": "string",
517
+ "format": "uuid",
518
+ "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)$"
519
+ },
520
+ "required": {
521
+ "type": "boolean"
522
+ },
523
+ "unextracted": {
524
+ "type": "boolean"
525
+ },
526
+ "requiredItemCount": {
527
+ "type": "integer",
528
+ "minimum": 0,
529
+ "maximum": 9007199254740991
530
+ }
531
+ },
532
+ "required": [
533
+ "checkpointId",
534
+ "required",
535
+ "unextracted",
536
+ "requiredItemCount"
537
+ ],
538
+ "additionalProperties": false
539
+ },
540
+ {
541
+ "type": "null"
542
+ }
543
+ ]
544
+ }
545
+ },
546
+ "required": [
547
+ "type",
548
+ "contextRecovery"
549
+ ],
550
+ "additionalProperties": false
500
551
  }
501
552
  ]
502
553
  }
@@ -520,7 +571,7 @@
520
571
  "properties": {
521
572
  "protocolVersion": {
522
573
  "type": "string",
523
- "const": "1.5"
574
+ "const": "1.6"
524
575
  },
525
576
  "runtimeInstanceId": {
526
577
  "type": "string",
@@ -821,7 +872,7 @@
821
872
  "properties": {
822
873
  "protocolVersion": {
823
874
  "type": "string",
824
- "const": "1.5"
875
+ "const": "1.6"
825
876
  },
826
877
  "runtimeInstanceId": {
827
878
  "type": "string",
@@ -869,7 +920,8 @@
869
920
  "operation-projection",
870
921
  "process-local-sequence",
871
922
  "attachments",
872
- "app-output"
923
+ "app-output",
924
+ "context-recovery"
873
925
  ]
874
926
  }
875
927
  },
@@ -1896,6 +1948,42 @@
1896
1948
  "type": "null"
1897
1949
  }
1898
1950
  ]
1951
+ },
1952
+ "contextRecovery": {
1953
+ "anyOf": [
1954
+ {
1955
+ "readOnly": true,
1956
+ "type": "object",
1957
+ "properties": {
1958
+ "checkpointId": {
1959
+ "type": "string",
1960
+ "format": "uuid",
1961
+ "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)$"
1962
+ },
1963
+ "required": {
1964
+ "type": "boolean"
1965
+ },
1966
+ "unextracted": {
1967
+ "type": "boolean"
1968
+ },
1969
+ "requiredItemCount": {
1970
+ "type": "integer",
1971
+ "minimum": 0,
1972
+ "maximum": 9007199254740991
1973
+ }
1974
+ },
1975
+ "required": [
1976
+ "checkpointId",
1977
+ "required",
1978
+ "unextracted",
1979
+ "requiredItemCount"
1980
+ ],
1981
+ "additionalProperties": false
1982
+ },
1983
+ {
1984
+ "type": "null"
1985
+ }
1986
+ ]
1899
1987
  }
1900
1988
  },
1901
1989
  "required": [
@@ -1905,7 +1993,8 @@
1905
1993
  "pendingApprovals",
1906
1994
  "transcriptCompleteness",
1907
1995
  "pendingInteractions",
1908
- "eventCursor"
1996
+ "eventCursor",
1997
+ "contextRecovery"
1909
1998
  ],
1910
1999
  "additionalProperties": false
1911
2000
  },
@@ -2581,6 +2670,42 @@
2581
2670
  "recoveryProjection": {
2582
2671
  "type": "boolean",
2583
2672
  "const": true
2673
+ },
2674
+ "contextRecovery": {
2675
+ "anyOf": [
2676
+ {
2677
+ "readOnly": true,
2678
+ "type": "object",
2679
+ "properties": {
2680
+ "checkpointId": {
2681
+ "type": "string",
2682
+ "format": "uuid",
2683
+ "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)$"
2684
+ },
2685
+ "required": {
2686
+ "type": "boolean"
2687
+ },
2688
+ "unextracted": {
2689
+ "type": "boolean"
2690
+ },
2691
+ "requiredItemCount": {
2692
+ "type": "integer",
2693
+ "minimum": 0,
2694
+ "maximum": 9007199254740991
2695
+ }
2696
+ },
2697
+ "required": [
2698
+ "checkpointId",
2699
+ "required",
2700
+ "unextracted",
2701
+ "requiredItemCount"
2702
+ ],
2703
+ "additionalProperties": false
2704
+ },
2705
+ {
2706
+ "type": "null"
2707
+ }
2708
+ ]
2584
2709
  }
2585
2710
  },
2586
2711
  "required": [
@@ -2591,7 +2716,8 @@
2591
2716
  "transcriptCompleteness",
2592
2717
  "pendingInteractions",
2593
2718
  "eventCursor",
2594
- "recoveryProjection"
2719
+ "recoveryProjection",
2720
+ "contextRecovery"
2595
2721
  ],
2596
2722
  "additionalProperties": false
2597
2723
  }
@@ -3422,6 +3548,42 @@
3422
3548
  "type": "null"
3423
3549
  }
3424
3550
  ]
3551
+ },
3552
+ "contextRecovery": {
3553
+ "anyOf": [
3554
+ {
3555
+ "readOnly": true,
3556
+ "type": "object",
3557
+ "properties": {
3558
+ "checkpointId": {
3559
+ "type": "string",
3560
+ "format": "uuid",
3561
+ "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)$"
3562
+ },
3563
+ "required": {
3564
+ "type": "boolean"
3565
+ },
3566
+ "unextracted": {
3567
+ "type": "boolean"
3568
+ },
3569
+ "requiredItemCount": {
3570
+ "type": "integer",
3571
+ "minimum": 0,
3572
+ "maximum": 9007199254740991
3573
+ }
3574
+ },
3575
+ "required": [
3576
+ "checkpointId",
3577
+ "required",
3578
+ "unextracted",
3579
+ "requiredItemCount"
3580
+ ],
3581
+ "additionalProperties": false
3582
+ },
3583
+ {
3584
+ "type": "null"
3585
+ }
3586
+ ]
3425
3587
  }
3426
3588
  },
3427
3589
  "required": [
@@ -3431,7 +3593,8 @@
3431
3593
  "pendingApprovals",
3432
3594
  "transcriptCompleteness",
3433
3595
  "pendingInteractions",
3434
- "eventCursor"
3596
+ "eventCursor",
3597
+ "contextRecovery"
3435
3598
  ],
3436
3599
  "additionalProperties": false
3437
3600
  },
@@ -4107,6 +4270,42 @@
4107
4270
  "recoveryProjection": {
4108
4271
  "type": "boolean",
4109
4272
  "const": true
4273
+ },
4274
+ "contextRecovery": {
4275
+ "anyOf": [
4276
+ {
4277
+ "readOnly": true,
4278
+ "type": "object",
4279
+ "properties": {
4280
+ "checkpointId": {
4281
+ "type": "string",
4282
+ "format": "uuid",
4283
+ "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)$"
4284
+ },
4285
+ "required": {
4286
+ "type": "boolean"
4287
+ },
4288
+ "unextracted": {
4289
+ "type": "boolean"
4290
+ },
4291
+ "requiredItemCount": {
4292
+ "type": "integer",
4293
+ "minimum": 0,
4294
+ "maximum": 9007199254740991
4295
+ }
4296
+ },
4297
+ "required": [
4298
+ "checkpointId",
4299
+ "required",
4300
+ "unextracted",
4301
+ "requiredItemCount"
4302
+ ],
4303
+ "additionalProperties": false
4304
+ },
4305
+ {
4306
+ "type": "null"
4307
+ }
4308
+ ]
4110
4309
  }
4111
4310
  },
4112
4311
  "required": [
@@ -4117,7 +4316,8 @@
4117
4316
  "transcriptCompleteness",
4118
4317
  "pendingInteractions",
4119
4318
  "eventCursor",
4120
- "recoveryProjection"
4319
+ "recoveryProjection",
4320
+ "contextRecovery"
4121
4321
  ],
4122
4322
  "additionalProperties": false
4123
4323
  }
@@ -5283,6 +5483,80 @@
5283
5483
  ],
5284
5484
  "additionalProperties": false
5285
5485
  },
5486
+ "approvalPreviewParams": {
5487
+ "readOnly": true,
5488
+ "type": "object",
5489
+ "properties": {
5490
+ "threadId": {
5491
+ "type": "string",
5492
+ "format": "uuid",
5493
+ "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)$"
5494
+ },
5495
+ "turnId": {
5496
+ "type": "string",
5497
+ "format": "uuid",
5498
+ "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)$"
5499
+ },
5500
+ "approvalId": {
5501
+ "type": "string",
5502
+ "format": "uuid",
5503
+ "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)$"
5504
+ },
5505
+ "offset": {
5506
+ "default": 0,
5507
+ "type": "integer",
5508
+ "minimum": 0,
5509
+ "maximum": 9007199254740991
5510
+ },
5511
+ "maxChars": {
5512
+ "default": 12000,
5513
+ "type": "integer",
5514
+ "minimum": 1,
5515
+ "maximum": 32000
5516
+ }
5517
+ },
5518
+ "required": [
5519
+ "threadId",
5520
+ "turnId",
5521
+ "approvalId",
5522
+ "offset",
5523
+ "maxChars"
5524
+ ],
5525
+ "additionalProperties": false
5526
+ },
5527
+ "approvalPreviewResult": {
5528
+ "readOnly": true,
5529
+ "type": "object",
5530
+ "properties": {
5531
+ "text": {
5532
+ "type": "string",
5533
+ "maxLength": 32000
5534
+ },
5535
+ "totalChars": {
5536
+ "type": "integer",
5537
+ "minimum": 0,
5538
+ "maximum": 9007199254740991
5539
+ },
5540
+ "nextOffset": {
5541
+ "anyOf": [
5542
+ {
5543
+ "type": "integer",
5544
+ "minimum": 0,
5545
+ "maximum": 9007199254740991
5546
+ },
5547
+ {
5548
+ "type": "null"
5549
+ }
5550
+ ]
5551
+ }
5552
+ },
5553
+ "required": [
5554
+ "text",
5555
+ "totalChars",
5556
+ "nextOffset"
5557
+ ],
5558
+ "additionalProperties": false
5559
+ },
5286
5560
  "approvalRequestParams": {
5287
5561
  "readOnly": true,
5288
5562
  "type": "object",
@@ -6328,6 +6602,30 @@
6328
6602
  ],
6329
6603
  "additionalProperties": false
6330
6604
  },
6605
+ "approvalPreviewRequest": {
6606
+ "type": "object",
6607
+ "properties": {
6608
+ "jsonrpc": {
6609
+ "const": "2.0"
6610
+ },
6611
+ "id": {
6612
+ "$ref": "#/$defs/jsonRpcId"
6613
+ },
6614
+ "method": {
6615
+ "const": "approval.preview"
6616
+ },
6617
+ "params": {
6618
+ "$ref": "#/$defs/approvalPreviewParams"
6619
+ }
6620
+ },
6621
+ "required": [
6622
+ "jsonrpc",
6623
+ "id",
6624
+ "method",
6625
+ "params"
6626
+ ],
6627
+ "additionalProperties": false
6628
+ },
6331
6629
  "approvalRequestServerRequest": {
6332
6630
  "type": "object",
6333
6631
  "properties": {
@@ -6437,6 +6735,9 @@
6437
6735
  },
6438
6736
  {
6439
6737
  "$ref": "#/$defs/operationResultGetRequest"
6738
+ },
6739
+ {
6740
+ "$ref": "#/$defs/approvalPreviewRequest"
6440
6741
  }
6441
6742
  ]
6442
6743
  },
@@ -6561,6 +6862,9 @@
6561
6862
  {
6562
6863
  "$ref": "#/$defs/operationResultGetResult"
6563
6864
  },
6865
+ {
6866
+ "$ref": "#/$defs/approvalPreviewResult"
6867
+ },
6564
6868
  {
6565
6869
  "$ref": "#/$defs/approvalRequestResult"
6566
6870
  },
@@ -6621,7 +6925,7 @@
6621
6925
  "additionalProperties": false
6622
6926
  }
6623
6927
  },
6624
- "x-roll-protocol-version": "1.5",
6928
+ "x-roll-protocol-version": "1.6",
6625
6929
  "x-roll-methods": {
6626
6930
  "initialize": {
6627
6931
  "params": {
@@ -6842,6 +7146,17 @@
6842
7146
  "request": {
6843
7147
  "$ref": "#/$defs/operationResultGetRequest"
6844
7148
  }
7149
+ },
7150
+ "approval.preview": {
7151
+ "params": {
7152
+ "$ref": "#/$defs/approvalPreviewParams"
7153
+ },
7154
+ "result": {
7155
+ "$ref": "#/$defs/approvalPreviewResult"
7156
+ },
7157
+ "request": {
7158
+ "$ref": "#/$defs/approvalPreviewRequest"
7159
+ }
6845
7160
  }
6846
7161
  },
6847
7162
  "x-roll-server-request-methods": {
@@ -0,0 +1,23 @@
1
+ {
2
+ "jsonrpc": "2.0",
3
+ "method": "runtime.event",
4
+ "params": {
5
+ "protocolVersion": "1.6",
6
+ "runtimeInstanceId": "00000000-0000-4000-8000-000000000001",
7
+ "threadId": "00000000-0000-4000-8000-000000000002",
8
+ "sequence": 0,
9
+ "timestamp": "2026-10-13T00:00:00.000Z",
10
+ "durability": "durable",
11
+ "eventId": "00000000-0000-4000-8000-000000000003",
12
+ "cursor": "rte1:00000000-0000-4000-8000-000000000001:0:00000000-0000-4000-8000-000000000003",
13
+ "event": {
14
+ "type": "context.recovery.changed",
15
+ "contextRecovery": {
16
+ "checkpointId": "00000000-0000-4000-8000-000000000003",
17
+ "required": true,
18
+ "unextracted": true,
19
+ "requiredItemCount": 24
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "jsonrpc": "2.0",
3
+ "id": 2,
4
+ "result": {
5
+ "thread": {
6
+ "id": "00000000-0000-4000-8000-000000000002",
7
+ "createdAt": "2026-10-13T00:00:00.000Z",
8
+ "updatedAt": "2026-10-13T00:00:00.000Z",
9
+ "messageCount": 0
10
+ },
11
+ "messages": {
12
+ "items": [],
13
+ "nextBeforeSequence": null
14
+ },
15
+ "operations": {
16
+ "items": [],
17
+ "nextBeforeSequence": null
18
+ },
19
+ "pendingApprovals": [],
20
+ "pendingInteractions": [],
21
+ "transcriptCompleteness": "complete",
22
+ "eventCursor": null,
23
+ "contextRecovery": {
24
+ "checkpointId": "00000000-0000-4000-8000-000000000003",
25
+ "required": true,
26
+ "unextracted": true,
27
+ "requiredItemCount": 24
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "jsonrpc": "2.0",
3
+ "id": 1,
4
+ "result": {
5
+ "protocolVersion": "1.6",
6
+ "runtimeInstanceId": "00000000-0000-4000-8000-000000000001",
7
+ "server": {
8
+ "name": "roll-runtime",
9
+ "version": "0.18.0",
10
+ "runtimeVersion": "0.18.0"
11
+ },
12
+ "features": [
13
+ "thread-management",
14
+ "snapshots",
15
+ "turns",
16
+ "approvals",
17
+ "tool-streaming",
18
+ "reasoning-summary",
19
+ "operation-projection",
20
+ "process-local-sequence",
21
+ "attachments",
22
+ "app-output",
23
+ "context-recovery"
24
+ ],
25
+ "limits": {
26
+ "maxFrameBytes": 4194304,
27
+ "maxPageSize": 500,
28
+ "eventReplay": true,
29
+ "idempotencyCacheEntries": 10000,
30
+ "maxAttachmentBytes": 16777216,
31
+ "maxAttachmentChunkBytes": 2097152,
32
+ "maxTurnAttachments": 8,
33
+ "maxStagedAttachments": 16
34
+ }
35
+ }
36
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roll-agent/protocol",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,8 @@
31
31
  "types": "./dist/observation-retention.d.ts",
32
32
  "default": "./dist/observation-retention.js"
33
33
  },
34
- "./schema/1.5": "./dist/schema/roll-runtime-protocol-v1.5.schema.json"
34
+ "./schema/1.5": "./dist/schema/roll-runtime-protocol-v1.5.schema.json",
35
+ "./schema/1.6": "./dist/schema/roll-runtime-protocol-v1.6.schema.json"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"