@roll-agent/relay-protocol 0.1.1 → 0.3.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.
- package/README.md +134 -39
- package/dist/conformance.d.ts +571 -4
- package/dist/conformance.js +677 -8
- package/dist/control.d.ts +188 -0
- package/dist/control.js +180 -0
- package/dist/index.d.ts +3991 -287
- package/dist/index.js +676 -77
- package/dist/reference-adapter.d.ts +56 -0
- package/dist/reference-adapter.js +122 -0
- package/dist/schema/roll-relay-browser-session-v1.schema.json +23 -0
- package/dist/schema/roll-relay-control-v1.schema.json +127 -0
- package/dist/schema/roll-relay-protocol-v1.1.schema.json +3791 -0
- package/dist/schema/roll-relay-protocol-v1.schema.json +1 -1
- package/fixtures/control/v1.0/invalid-browser-session-trailing-whitespace.json +4 -0
- package/fixtures/control/v1.0/invalid-browser-session-uppercase-scheme.json +4 -0
- package/fixtures/control/v1.0/invalid-browser-session-url.json +4 -0
- package/fixtures/control/v1.0/invalid-browser-session-ws.json +4 -0
- package/fixtures/control/v1.0/invalid-control-extra-field.json +6 -0
- package/fixtures/control/v1.0/invalid-session-ready-wire-version.json +8 -0
- package/fixtures/control/v1.0/manifest.json +52 -0
- package/fixtures/control/v1.0/valid-browser-session.json +4 -0
- package/fixtures/control/v1.0/valid-session-error.json +5 -0
- package/fixtures/control/v1.0/valid-session-ready.json +8 -0
- package/fixtures/control/v1.0/valid-workspace-status.json +5 -0
- package/fixtures/v1.1/invalid-approval-projection-raw-input-leak.json +19 -0
- package/fixtures/v1.1/invalid-authentication-local-only.json +12 -0
- package/fixtures/v1.1/invalid-file-picker-local-only.json +12 -0
- package/fixtures/v1.1/invalid-interaction-cancelled-reason-leak.json +10 -0
- package/fixtures/v1.1/invalid-interaction-resolved-result-leak.json +18 -0
- package/fixtures/v1.1/invalid-legacy-approval-candidate.json +7 -0
- package/fixtures/v1.1/invalid-legacy-approval-respond.json +7 -0
- package/fixtures/v1.1/invalid-n-minus-one-device-connect.json +6 -0
- package/fixtures/v1.1/invalid-non-normal-sensitivity.json +21 -0
- package/fixtures/v1.1/invalid-runtime-event-tool-input-leak.json +22 -0
- package/fixtures/v1.1/invalid-runtime-event-tool-output-leak.json +21 -0
- package/fixtures/v1.1/invalid-user-input-projection-secret-leak.json +22 -0
- package/fixtures/v1.1/manifest.json +673 -0
- package/fixtures/v1.1/valid-device-connect.json +6 -0
- package/fixtures/v1.1/valid-interaction-cancelled.json +9 -0
- package/fixtures/v1.1/valid-interaction-candidate-user-input.json +25 -0
- package/fixtures/v1.1/valid-interaction-request-approval.json +17 -0
- package/fixtures/v1.1/valid-interaction-request-user-input.json +40 -0
- package/fixtures/v1.1/valid-interaction-resolved.json +9 -0
- package/fixtures/v1.1/valid-runtime-ack.json +5 -0
- package/fixtures/v1.1/valid-runtime-encrypted-interaction.json +10 -0
- package/fixtures/v1.1/valid-runtime-event-runtime-n-minus-one.json +16 -0
- package/fixtures/v1.1/valid-runtime-event.json +16 -0
- package/fixtures/v1.1/valid-runtime-gap.json +7 -0
- package/fixtures/v1.1/valid-runtime-request.json +10 -0
- package/fixtures/v1.1/valid-runtime-response.json +8 -0
- package/package.json +16 -3
|
@@ -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,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,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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roll-agent/relay-protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,7 +19,20 @@
|
|
|
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
|
+
},
|
|
26
|
+
"./control": {
|
|
27
|
+
"types": "./dist/control.d.ts",
|
|
28
|
+
"default": "./dist/control.js"
|
|
29
|
+
},
|
|
30
|
+
"./control/schema": "./dist/schema/roll-relay-control-v1.schema.json",
|
|
31
|
+
"./control/session-schema": "./dist/schema/roll-relay-browser-session-v1.schema.json",
|
|
32
|
+
"./control/fixtures/*": "./fixtures/control/v1.0/*",
|
|
22
33
|
"./schema": "./dist/schema/roll-relay-protocol-v1.schema.json",
|
|
34
|
+
"./schema/v1.0": "./dist/schema/roll-relay-protocol-v1.schema.json",
|
|
35
|
+
"./schema/v1.1": "./dist/schema/roll-relay-protocol-v1.1.schema.json",
|
|
23
36
|
"./fixtures/*": "./fixtures/*"
|
|
24
37
|
},
|
|
25
38
|
"publishConfig": {
|
|
@@ -34,7 +47,7 @@
|
|
|
34
47
|
},
|
|
35
48
|
"dependencies": {
|
|
36
49
|
"zod": "3.25.76",
|
|
37
|
-
"@roll-agent/protocol": "0.
|
|
50
|
+
"@roll-agent/protocol": "0.4.1"
|
|
38
51
|
},
|
|
39
52
|
"devDependencies": {
|
|
40
53
|
"@types/node": "^22.0.0",
|
|
@@ -43,7 +56,7 @@
|
|
|
43
56
|
"prettier": "3.8.1"
|
|
44
57
|
},
|
|
45
58
|
"scripts": {
|
|
46
|
-
"build": "rm -rf dist && tsc -p tsconfig.build.json && node --experimental-strip-types scripts/generate-schema.mjs",
|
|
59
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && node --experimental-strip-types scripts/generate-schema.mjs && node --experimental-strip-types scripts/generate-control-schema.mjs",
|
|
47
60
|
"typecheck": "tsc --noEmit",
|
|
48
61
|
"test": "node --experimental-strip-types --test \"src/**/*.test.ts\"",
|
|
49
62
|
"clean": "rm -rf dist"
|