@roll-agent/relay-protocol 0.1.0 → 0.2.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 (35) hide show
  1. package/README.md +90 -39
  2. package/dist/conformance.d.ts +571 -4
  3. package/dist/conformance.js +677 -8
  4. package/dist/index.d.ts +3977 -303
  5. package/dist/index.js +664 -77
  6. package/dist/reference-adapter.d.ts +56 -0
  7. package/dist/reference-adapter.js +122 -0
  8. package/dist/schema/roll-relay-protocol-v1.1.schema.json +3791 -0
  9. package/fixtures/v1.1/invalid-approval-projection-raw-input-leak.json +19 -0
  10. package/fixtures/v1.1/invalid-authentication-local-only.json +12 -0
  11. package/fixtures/v1.1/invalid-file-picker-local-only.json +12 -0
  12. package/fixtures/v1.1/invalid-interaction-cancelled-reason-leak.json +10 -0
  13. package/fixtures/v1.1/invalid-interaction-resolved-result-leak.json +18 -0
  14. package/fixtures/v1.1/invalid-legacy-approval-candidate.json +7 -0
  15. package/fixtures/v1.1/invalid-legacy-approval-respond.json +7 -0
  16. package/fixtures/v1.1/invalid-n-minus-one-device-connect.json +6 -0
  17. package/fixtures/v1.1/invalid-non-normal-sensitivity.json +21 -0
  18. package/fixtures/v1.1/invalid-runtime-event-tool-input-leak.json +22 -0
  19. package/fixtures/v1.1/invalid-runtime-event-tool-output-leak.json +21 -0
  20. package/fixtures/v1.1/invalid-user-input-projection-secret-leak.json +22 -0
  21. package/fixtures/v1.1/manifest.json +673 -0
  22. package/fixtures/v1.1/valid-device-connect.json +6 -0
  23. package/fixtures/v1.1/valid-interaction-cancelled.json +9 -0
  24. package/fixtures/v1.1/valid-interaction-candidate-user-input.json +25 -0
  25. package/fixtures/v1.1/valid-interaction-request-approval.json +17 -0
  26. package/fixtures/v1.1/valid-interaction-request-user-input.json +40 -0
  27. package/fixtures/v1.1/valid-interaction-resolved.json +9 -0
  28. package/fixtures/v1.1/valid-runtime-ack.json +5 -0
  29. package/fixtures/v1.1/valid-runtime-encrypted-interaction.json +10 -0
  30. package/fixtures/v1.1/valid-runtime-event-runtime-n-minus-one.json +16 -0
  31. package/fixtures/v1.1/valid-runtime-event.json +16 -0
  32. package/fixtures/v1.1/valid-runtime-gap.json +7 -0
  33. package/fixtures/v1.1/valid-runtime-request.json +10 -0
  34. package/fixtures/v1.1/valid-runtime-response.json +8 -0
  35. package/package.json +8 -2
@@ -0,0 +1,25 @@
1
+ {
2
+ "type": "runtime.request",
3
+ "requestId": "00000000-0000-4000-8000-000000000509",
4
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
5
+ "method": "interaction.candidate",
6
+ "params": {
7
+ "interactionId": "00000000-0000-4000-8000-000000000511",
8
+ "threadId": "00000000-0000-4000-8000-000000000502",
9
+ "turnId": "00000000-0000-4000-8000-000000000503",
10
+ "method": "userInput.request",
11
+ "candidate": {
12
+ "status": "submitted",
13
+ "values": [
14
+ {
15
+ "id": "region",
16
+ "value": "north"
17
+ },
18
+ {
19
+ "id": "workspace",
20
+ "value": "target-workspace"
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 3,
5
+ "interactionId": "00000000-0000-4000-8000-000000000511",
6
+ "threadId": "00000000-0000-4000-8000-000000000502",
7
+ "turnId": "00000000-0000-4000-8000-000000000503",
8
+ "expiresAt": "2026-08-04T00:05:00.000Z",
9
+ "sensitivity": "normal",
10
+ "method": "approval.request",
11
+ "projection": {
12
+ "approvalId": "00000000-0000-4000-8000-000000000504",
13
+ "agentName": "workspace-agent",
14
+ "toolName": "deploy",
15
+ "explanation": "部署前需要确认。"
16
+ }
17
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 4,
5
+ "interactionId": "00000000-0000-4000-8000-000000000511",
6
+ "threadId": "00000000-0000-4000-8000-000000000502",
7
+ "turnId": "00000000-0000-4000-8000-000000000503",
8
+ "expiresAt": "2026-08-04T00:05:00.000Z",
9
+ "sensitivity": "normal",
10
+ "method": "userInput.request",
11
+ "projection": {
12
+ "title": "部署配置",
13
+ "controls": [
14
+ {
15
+ "id": "region",
16
+ "type": "choice",
17
+ "label": "部署区域",
18
+ "required": true,
19
+ "multiple": false,
20
+ "options": [
21
+ {
22
+ "id": "north",
23
+ "label": "北区"
24
+ },
25
+ {
26
+ "id": "south",
27
+ "label": "南区"
28
+ }
29
+ ]
30
+ },
31
+ {
32
+ "id": "workspace",
33
+ "type": "text",
34
+ "label": "目标 Workspace",
35
+ "required": true,
36
+ "maxLength": 100
37
+ }
38
+ ]
39
+ }
40
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "type": "interaction.resolved",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 5,
5
+ "interactionId": "00000000-0000-4000-8000-000000000511",
6
+ "threadId": "00000000-0000-4000-8000-000000000502",
7
+ "turnId": "00000000-0000-4000-8000-000000000503",
8
+ "method": "userInput.request"
9
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "type": "runtime.ack",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "throughRelaySequence": 1
5
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "type": "runtime.encrypted",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "envelopeId": "00000000-0000-4000-8000-000000000508",
5
+ "payloadKind": "interaction",
6
+ "relaySequence": 2,
7
+ "algorithm": "example-aead",
8
+ "nonce": "opaque-nonce",
9
+ "ciphertext": "opaque-ciphertext"
10
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "runtime.event",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 1,
5
+ "event": {
6
+ "protocolVersion": "1.0",
7
+ "runtimeInstanceId": "00000000-0000-4000-8000-000000000501",
8
+ "sequence": 1,
9
+ "timestamp": "2026-08-04T00:00:01.000Z",
10
+ "threadId": "00000000-0000-4000-8000-000000000502",
11
+ "turnId": "00000000-0000-4000-8000-000000000503",
12
+ "event": {
13
+ "type": "turn.completed"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "runtime.event",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 0,
5
+ "event": {
6
+ "protocolVersion": "1.1",
7
+ "runtimeInstanceId": "00000000-0000-4000-8000-000000000501",
8
+ "sequence": 0,
9
+ "timestamp": "2026-08-04T00:00:00.000Z",
10
+ "threadId": "00000000-0000-4000-8000-000000000502",
11
+ "turnId": "00000000-0000-4000-8000-000000000503",
12
+ "event": {
13
+ "type": "turn.completed"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "runtime.gap",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "fromRelaySequence": 0,
5
+ "throughRelaySequence": 2,
6
+ "recovery": "thread.snapshot"
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "type": "runtime.request",
3
+ "requestId": "00000000-0000-4000-8000-000000000505",
4
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
5
+ "method": "thread.snapshot",
6
+ "params": {
7
+ "threadId": "00000000-0000-4000-8000-000000000502",
8
+ "limit": 100
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "type": "runtime.response",
3
+ "requestId": "00000000-0000-4000-8000-000000000505",
4
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
5
+ "result": {
6
+ "accepted": true
7
+ }
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roll-agent/relay-protocol",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,13 @@
19
19
  "types": "./dist/conformance.d.ts",
20
20
  "default": "./dist/conformance.js"
21
21
  },
22
+ "./reference-adapter": {
23
+ "types": "./dist/reference-adapter.d.ts",
24
+ "default": "./dist/reference-adapter.js"
25
+ },
22
26
  "./schema": "./dist/schema/roll-relay-protocol-v1.schema.json",
27
+ "./schema/v1.0": "./dist/schema/roll-relay-protocol-v1.schema.json",
28
+ "./schema/v1.1": "./dist/schema/roll-relay-protocol-v1.1.schema.json",
23
29
  "./fixtures/*": "./fixtures/*"
24
30
  },
25
31
  "publishConfig": {
@@ -34,7 +40,7 @@
34
40
  },
35
41
  "dependencies": {
36
42
  "zod": "3.25.76",
37
- "@roll-agent/protocol": "0.2.0"
43
+ "@roll-agent/protocol": "0.4.0"
38
44
  },
39
45
  "devDependencies": {
40
46
  "@types/node": "^22.0.0",