@roll-agent/relay-protocol 0.1.1 → 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,19 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 7,
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
+ "input": {
16
+ "secret": "relay-security-sentinel"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 10,
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": "authentication.request",
11
+ "projection": {}
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 11,
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": "filePicker.request",
11
+ "projection": {}
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "type": "interaction.cancelled",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 13,
5
+ "interactionId": "00000000-0000-4000-8000-000000000511",
6
+ "threadId": "00000000-0000-4000-8000-000000000502",
7
+ "turnId": "00000000-0000-4000-8000-000000000503",
8
+ "method": "approval.request",
9
+ "reason": "relay-security-sentinel"
10
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "interaction.resolved",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 12,
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
+ "result": {
10
+ "status": "submitted",
11
+ "values": [
12
+ {
13
+ "id": "workspace",
14
+ "value": "relay-security-sentinel"
15
+ }
16
+ ]
17
+ }
18
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "runtime.request",
3
+ "requestId": "00000000-0000-4000-8000-000000000505",
4
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
5
+ "method": "approval.candidate",
6
+ "params": {}
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "runtime.request",
3
+ "requestId": "00000000-0000-4000-8000-000000000505",
4
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
5
+ "method": "approval.respond",
6
+ "params": {}
7
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "device.connect",
3
+ "protocolVersion": "1.0",
4
+ "deviceId": "00000000-0000-4000-8000-000000000506",
5
+ "pairingToken": "pairing-token-with-sufficient-length"
6
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 9,
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": "secret",
10
+ "method": "userInput.request",
11
+ "projection": {
12
+ "controls": [
13
+ {
14
+ "id": "workspace",
15
+ "type": "text",
16
+ "label": "目标 Workspace",
17
+ "required": true
18
+ }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "type": "runtime.event",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 14,
5
+ "event": {
6
+ "protocolVersion": "1.1",
7
+ "runtimeInstanceId": "00000000-0000-4000-8000-000000000501",
8
+ "sequence": 14,
9
+ "timestamp": "2026-08-04T00:00:14.000Z",
10
+ "threadId": "00000000-0000-4000-8000-000000000502",
11
+ "turnId": "00000000-0000-4000-8000-000000000503",
12
+ "event": {
13
+ "type": "tool.started",
14
+ "toolCallId": "tool-1",
15
+ "agentName": "workspace-agent",
16
+ "toolName": "deploy",
17
+ "input": {
18
+ "secret": "relay-security-sentinel"
19
+ }
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "type": "runtime.event",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 15,
5
+ "event": {
6
+ "protocolVersion": "1.1",
7
+ "runtimeInstanceId": "00000000-0000-4000-8000-000000000501",
8
+ "sequence": 15,
9
+ "timestamp": "2026-08-04T00:00:15.000Z",
10
+ "threadId": "00000000-0000-4000-8000-000000000502",
11
+ "turnId": "00000000-0000-4000-8000-000000000503",
12
+ "event": {
13
+ "type": "tool.output",
14
+ "toolCallId": "tool-1",
15
+ "agentName": "workspace-agent",
16
+ "toolName": "deploy",
17
+ "stream": "stdout",
18
+ "delta": "relay-security-sentinel"
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "type": "interaction.request",
3
+ "workspaceId": "00000000-0000-4000-8000-000000000507",
4
+ "relaySequence": 8,
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
+ "controls": [
13
+ {
14
+ "id": "workspace",
15
+ "type": "text",
16
+ "label": "目标 Workspace",
17
+ "required": true
18
+ }
19
+ ],
20
+ "secret": "relay-security-sentinel"
21
+ }
22
+ }