@harness-control/protocol 0.1.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/LICENSE +202 -0
- package/README.md +16 -0
- package/dist/bin/conformance.d.ts +3 -0
- package/dist/bin/conformance.js +11 -0
- package/dist/bin/generate-json-schema.d.ts +3 -0
- package/dist/bin/generate-json-schema.js +12 -0
- package/dist/conformance.d.ts +42 -0
- package/dist/conformance.js +217 -0
- package/dist/index.d.ts +6761 -0
- package/dist/index.js +1931 -0
- package/dist/json-schema.d.ts +19 -0
- package/dist/json-schema.js +128 -0
- package/dist/pairing.d.ts +59 -0
- package/dist/pairing.js +42 -0
- package/dist/session-reducer.d.ts +36 -0
- package/dist/session-reducer.js +96 -0
- package/fixtures/conformance/invalid/arbitrary-event-family.json +13 -0
- package/fixtures/conformance/invalid/local-action-lease-binding-mismatch.json +51 -0
- package/fixtures/conformance/invalid/local-action-missing-turn-id.json +21 -0
- package/fixtures/conformance/invalid/local-action-patch-missing-base-hash.json +53 -0
- package/fixtures/conformance/invalid/local-action-shell-missing-approval.json +56 -0
- package/fixtures/conformance/invalid/mcp-stdio-attachment.json +27 -0
- package/fixtures/conformance/invalid/session-snapshot-unsafe-omission.json +26 -0
- package/fixtures/conformance/invalid/terminal-turn-missing-final-output.json +16 -0
- package/fixtures/conformance/invalid/unknown-payload-field.json +14 -0
- package/fixtures/conformance/invalid/unknown-top-level-field.json +14 -0
- package/fixtures/conformance/valid/command-ack.json +11 -0
- package/fixtures/conformance/valid/extension-event.json +18 -0
- package/fixtures/conformance/valid/host-hello.json +22 -0
- package/fixtures/conformance/valid/host-replay-unavailable.json +15 -0
- package/fixtures/conformance/valid/local-action-dev-server-start.json +67 -0
- package/fixtures/conformance/valid/local-action-dev-server-stop.json +54 -0
- package/fixtures/conformance/valid/local-action-error.json +40 -0
- package/fixtures/conformance/valid/local-action-filesystem-list.json +54 -0
- package/fixtures/conformance/valid/local-action-filesystem-patch.json +55 -0
- package/fixtures/conformance/valid/local-action-filesystem-read.json +53 -0
- package/fixtures/conformance/valid/local-action-filesystem-write.json +55 -0
- package/fixtures/conformance/valid/local-action-git-diff.json +53 -0
- package/fixtures/conformance/valid/local-action-git-status.json +53 -0
- package/fixtures/conformance/valid/local-action-response.json +49 -0
- package/fixtures/conformance/valid/local-action-shell-exec.json +63 -0
- package/fixtures/conformance/valid/provider-event.json +18 -0
- package/fixtures/conformance/valid/session-snapshot-request.json +9 -0
- package/fixtures/conformance/valid/session-snapshot.json +28 -0
- package/fixtures/conformance/valid/session-start-with-leases.json +80 -0
- package/fixtures/conformance/valid/session-start-with-runner-stdio-profile.json +27 -0
- package/fixtures/conformance/valid/turn-completed.json +30 -0
- package/package.json +61 -0
- package/schemas/hcp-message.schema.json +18667 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-unknown-top-level-field",
|
|
3
|
+
"type": "host.hello",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"runner_id": "runner-local",
|
|
8
|
+
"host_id": "host-local",
|
|
9
|
+
"runner_version": "0.0.0",
|
|
10
|
+
"supported_protocol_versions": ["hcp.v0"],
|
|
11
|
+
"capabilities": []
|
|
12
|
+
},
|
|
13
|
+
"unexpected": true
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-extension-event",
|
|
3
|
+
"type": "harness.event",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"session_id": "session-1",
|
|
8
|
+
"sequence": 3,
|
|
9
|
+
"event_type": "extension.timeline.marker",
|
|
10
|
+
"created_at": "2026-01-01T00:00:03.000Z",
|
|
11
|
+
"data": {
|
|
12
|
+
"summary": "Timeline marker",
|
|
13
|
+
"fields": {
|
|
14
|
+
"marker_id": "marker-1"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-host-hello",
|
|
3
|
+
"type": "host.hello",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"runner_id": "runner-local",
|
|
8
|
+
"host_id": "host-local",
|
|
9
|
+
"runner_version": "0.0.0",
|
|
10
|
+
"supported_protocol_versions": ["hcp.v0"],
|
|
11
|
+
"capabilities": ["providers", "mcp_streamable_http"],
|
|
12
|
+
"retained_events": {
|
|
13
|
+
"sessions": [
|
|
14
|
+
{
|
|
15
|
+
"session_id": "session-1",
|
|
16
|
+
"first_event_sequence": 1,
|
|
17
|
+
"last_event_sequence": 12
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-host-replay-unavailable",
|
|
3
|
+
"type": "host.replay.unavailable",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:01.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"session_id": "session-1",
|
|
8
|
+
"requested_after_sequence": 12,
|
|
9
|
+
"reason": "cursor_outside_retention",
|
|
10
|
+
"retained_range": {
|
|
11
|
+
"first_event_sequence": 20,
|
|
12
|
+
"last_event_sequence": 40
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-dev-server-start",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-dev-start-1",
|
|
8
|
+
"action": "local.dev_server.start",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-dev-server",
|
|
19
|
+
"capability_id": "dev_server",
|
|
20
|
+
"scope": "workspace",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "approved",
|
|
36
|
+
"request_id": "approval-2",
|
|
37
|
+
"action_hash": "sha256:dev-server",
|
|
38
|
+
"decision": "accept_for_session",
|
|
39
|
+
"actor_id": "user-1",
|
|
40
|
+
"approved_at": "2026-01-01T00:00:02.000Z"
|
|
41
|
+
},
|
|
42
|
+
"output_limits": {},
|
|
43
|
+
"cancellation": {
|
|
44
|
+
"cancellable": true,
|
|
45
|
+
"timeout_ms": 60000,
|
|
46
|
+
"token": "cancel-dev-start-1"
|
|
47
|
+
},
|
|
48
|
+
"audit": {
|
|
49
|
+
"started_event_type": "local_capability.action.started",
|
|
50
|
+
"completed_event_type": "local_capability.action.completed",
|
|
51
|
+
"failed_event_type": "local_capability.action.failed"
|
|
52
|
+
},
|
|
53
|
+
"input": {
|
|
54
|
+
"server_id": "web",
|
|
55
|
+
"executable": "npm",
|
|
56
|
+
"argv": ["run", "dev"],
|
|
57
|
+
"cwd": "/tmp/workspace",
|
|
58
|
+
"host": "127.0.0.1",
|
|
59
|
+
"port": 3000,
|
|
60
|
+
"use_shell": false,
|
|
61
|
+
"readiness": {
|
|
62
|
+
"url": "http://127.0.0.1:3000",
|
|
63
|
+
"timeout_ms": 30000
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-dev-server-stop",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-dev-stop-1",
|
|
8
|
+
"action": "local.dev_server.stop",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-dev-server",
|
|
19
|
+
"capability_id": "dev_server",
|
|
20
|
+
"scope": "workspace",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {},
|
|
38
|
+
"cancellation": {
|
|
39
|
+
"cancellable": true,
|
|
40
|
+
"timeout_ms": 30000,
|
|
41
|
+
"token": "cancel-dev-stop-1"
|
|
42
|
+
},
|
|
43
|
+
"audit": {
|
|
44
|
+
"started_event_type": "local_capability.action.started",
|
|
45
|
+
"completed_event_type": "local_capability.action.completed",
|
|
46
|
+
"failed_event_type": "local_capability.action.failed"
|
|
47
|
+
},
|
|
48
|
+
"input": {
|
|
49
|
+
"server_id": "web",
|
|
50
|
+
"signal": "SIGTERM",
|
|
51
|
+
"timeout_ms": 30000
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-action-error",
|
|
3
|
+
"type": "local.action.error",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-patch-1",
|
|
8
|
+
"action": "local.filesystem.patch",
|
|
9
|
+
"status": "failed",
|
|
10
|
+
"failed_at": "2026-01-01T00:00:03.000Z",
|
|
11
|
+
"attribution": {
|
|
12
|
+
"session_id": "session-1",
|
|
13
|
+
"turn_id": "turn-1",
|
|
14
|
+
"workspace_id": "workspace-1",
|
|
15
|
+
"provider_instance_id": "provider-1",
|
|
16
|
+
"run_id": "run-1"
|
|
17
|
+
},
|
|
18
|
+
"lease": {
|
|
19
|
+
"lease_id": "local-lease-patch",
|
|
20
|
+
"capability_id": "filesystem",
|
|
21
|
+
"scope": "workspace_write",
|
|
22
|
+
"run_id": "run-1",
|
|
23
|
+
"hcp_session_id": "session-1",
|
|
24
|
+
"execution_host_id": "host-1",
|
|
25
|
+
"provider_instance_id": "provider-1",
|
|
26
|
+
"workspace_id": "workspace-1"
|
|
27
|
+
},
|
|
28
|
+
"error": {
|
|
29
|
+
"code": "local_capability_expected_hash_mismatch",
|
|
30
|
+
"message": "The expected base hash did not match.",
|
|
31
|
+
"retryable": false
|
|
32
|
+
},
|
|
33
|
+
"audit_events": {
|
|
34
|
+
"failed": {
|
|
35
|
+
"event_type": "local_capability.action.failed",
|
|
36
|
+
"sequence": 12
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-filesystem-list",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-list-1",
|
|
8
|
+
"action": "local.filesystem.list",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-list",
|
|
19
|
+
"capability_id": "filesystem",
|
|
20
|
+
"scope": "workspace_read",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {
|
|
38
|
+
"entries": 200
|
|
39
|
+
},
|
|
40
|
+
"cancellation": {
|
|
41
|
+
"cancellable": false
|
|
42
|
+
},
|
|
43
|
+
"audit": {
|
|
44
|
+
"started_event_type": "local_capability.action.started",
|
|
45
|
+
"completed_event_type": "local_capability.action.completed",
|
|
46
|
+
"failed_event_type": "local_capability.action.failed"
|
|
47
|
+
},
|
|
48
|
+
"input": {
|
|
49
|
+
"path": ".",
|
|
50
|
+
"recursive": false,
|
|
51
|
+
"include_hidden": false
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-filesystem-patch",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-patch-1",
|
|
8
|
+
"action": "local.filesystem.patch",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-patch",
|
|
19
|
+
"capability_id": "filesystem",
|
|
20
|
+
"scope": "workspace_write",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {},
|
|
38
|
+
"cancellation": {
|
|
39
|
+
"cancellable": false
|
|
40
|
+
},
|
|
41
|
+
"audit": {
|
|
42
|
+
"started_event_type": "local_capability.action.started",
|
|
43
|
+
"completed_event_type": "local_capability.action.completed",
|
|
44
|
+
"failed_event_type": "local_capability.action.failed"
|
|
45
|
+
},
|
|
46
|
+
"input": {
|
|
47
|
+
"path": "README.md",
|
|
48
|
+
"expected_base_hash": "sha256:old",
|
|
49
|
+
"patch": {
|
|
50
|
+
"format": "unified_diff",
|
|
51
|
+
"content": "--- a/README.md\n+++ b/README.md\n@@\n-old\n+new\n"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-filesystem-read",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-read-1",
|
|
8
|
+
"action": "local.filesystem.read",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-read",
|
|
19
|
+
"capability_id": "filesystem",
|
|
20
|
+
"scope": "workspace_read",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {
|
|
38
|
+
"content_bytes": 65536
|
|
39
|
+
},
|
|
40
|
+
"cancellation": {
|
|
41
|
+
"cancellable": false
|
|
42
|
+
},
|
|
43
|
+
"audit": {
|
|
44
|
+
"started_event_type": "local_capability.action.started",
|
|
45
|
+
"completed_event_type": "local_capability.action.completed",
|
|
46
|
+
"failed_event_type": "local_capability.action.failed"
|
|
47
|
+
},
|
|
48
|
+
"input": {
|
|
49
|
+
"path": "README.md",
|
|
50
|
+
"encoding": "utf8"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-filesystem-write",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-write-1",
|
|
8
|
+
"action": "local.filesystem.write",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-write",
|
|
19
|
+
"capability_id": "filesystem",
|
|
20
|
+
"scope": "workspace_write",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {},
|
|
38
|
+
"cancellation": {
|
|
39
|
+
"cancellable": false
|
|
40
|
+
},
|
|
41
|
+
"audit": {
|
|
42
|
+
"started_event_type": "local_capability.action.started",
|
|
43
|
+
"completed_event_type": "local_capability.action.completed",
|
|
44
|
+
"failed_event_type": "local_capability.action.failed"
|
|
45
|
+
},
|
|
46
|
+
"input": {
|
|
47
|
+
"path": "README.md",
|
|
48
|
+
"content": "updated",
|
|
49
|
+
"encoding": "utf8",
|
|
50
|
+
"mode": "overwrite",
|
|
51
|
+
"create_parents": false,
|
|
52
|
+
"expected_base_hash": "sha256:old"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-git-diff",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-git-diff-1",
|
|
8
|
+
"action": "local.git.diff",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-git-diff",
|
|
19
|
+
"capability_id": "git",
|
|
20
|
+
"scope": "workspace_read",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {
|
|
38
|
+
"diff_bytes": 65536
|
|
39
|
+
},
|
|
40
|
+
"cancellation": {
|
|
41
|
+
"cancellable": false
|
|
42
|
+
},
|
|
43
|
+
"audit": {
|
|
44
|
+
"started_event_type": "local_capability.action.started",
|
|
45
|
+
"completed_event_type": "local_capability.action.completed",
|
|
46
|
+
"failed_event_type": "local_capability.action.failed"
|
|
47
|
+
},
|
|
48
|
+
"input": {
|
|
49
|
+
"paths": ["README.md"],
|
|
50
|
+
"staged": false
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-git-status",
|
|
3
|
+
"type": "local.action.request",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-git-status-1",
|
|
8
|
+
"action": "local.git.status",
|
|
9
|
+
"issued_at": "2026-01-01T00:00:01.000Z",
|
|
10
|
+
"attribution": {
|
|
11
|
+
"session_id": "session-1",
|
|
12
|
+
"turn_id": "turn-1",
|
|
13
|
+
"workspace_id": "workspace-1",
|
|
14
|
+
"provider_instance_id": "provider-1",
|
|
15
|
+
"run_id": "run-1"
|
|
16
|
+
},
|
|
17
|
+
"lease": {
|
|
18
|
+
"lease_id": "local-lease-git-status",
|
|
19
|
+
"capability_id": "git",
|
|
20
|
+
"scope": "workspace_read",
|
|
21
|
+
"run_id": "run-1",
|
|
22
|
+
"hcp_session_id": "session-1",
|
|
23
|
+
"execution_host_id": "host-1",
|
|
24
|
+
"provider_instance_id": "provider-1",
|
|
25
|
+
"workspace_id": "workspace-1",
|
|
26
|
+
"expires_at": "2026-01-01T01:00:00.000Z"
|
|
27
|
+
},
|
|
28
|
+
"sandbox": {
|
|
29
|
+
"mode": "workspace_write",
|
|
30
|
+
"workspace_root": "/tmp/workspace",
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"requires_workspace_containment": true
|
|
33
|
+
},
|
|
34
|
+
"approval": {
|
|
35
|
+
"status": "not_required"
|
|
36
|
+
},
|
|
37
|
+
"output_limits": {
|
|
38
|
+
"status_bytes": 65536
|
|
39
|
+
},
|
|
40
|
+
"cancellation": {
|
|
41
|
+
"cancellable": false
|
|
42
|
+
},
|
|
43
|
+
"audit": {
|
|
44
|
+
"started_event_type": "local_capability.action.started",
|
|
45
|
+
"completed_event_type": "local_capability.action.completed",
|
|
46
|
+
"failed_event_type": "local_capability.action.failed"
|
|
47
|
+
},
|
|
48
|
+
"input": {
|
|
49
|
+
"porcelain_version": "v1",
|
|
50
|
+
"include_branch": true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "message-local-action-response",
|
|
3
|
+
"type": "local.action.response",
|
|
4
|
+
"version": "hcp.v0",
|
|
5
|
+
"sent_at": "2026-01-01T00:00:00.000Z",
|
|
6
|
+
"payload": {
|
|
7
|
+
"request_id": "local-action-shell-1",
|
|
8
|
+
"action": "local.shell.exec",
|
|
9
|
+
"status": "completed",
|
|
10
|
+
"completed_at": "2026-01-01T00:00:03.000Z",
|
|
11
|
+
"attribution": {
|
|
12
|
+
"session_id": "session-1",
|
|
13
|
+
"turn_id": "turn-1",
|
|
14
|
+
"workspace_id": "workspace-1",
|
|
15
|
+
"provider_instance_id": "provider-1",
|
|
16
|
+
"run_id": "run-1"
|
|
17
|
+
},
|
|
18
|
+
"lease": {
|
|
19
|
+
"lease_id": "local-lease-shell",
|
|
20
|
+
"capability_id": "shell",
|
|
21
|
+
"scope": "workspace",
|
|
22
|
+
"run_id": "run-1",
|
|
23
|
+
"hcp_session_id": "session-1",
|
|
24
|
+
"execution_host_id": "host-1",
|
|
25
|
+
"provider_instance_id": "provider-1",
|
|
26
|
+
"workspace_id": "workspace-1"
|
|
27
|
+
},
|
|
28
|
+
"output": {
|
|
29
|
+
"executable": "npm",
|
|
30
|
+
"argv": ["test"],
|
|
31
|
+
"cwd": "/tmp/workspace",
|
|
32
|
+
"exit_code": 0,
|
|
33
|
+
"signal": null,
|
|
34
|
+
"stdout": "ok\n",
|
|
35
|
+
"stderr": "",
|
|
36
|
+
"timed_out": false
|
|
37
|
+
},
|
|
38
|
+
"audit_events": {
|
|
39
|
+
"started": {
|
|
40
|
+
"event_type": "local_capability.action.started",
|
|
41
|
+
"sequence": 10
|
|
42
|
+
},
|
|
43
|
+
"completed": {
|
|
44
|
+
"event_type": "local_capability.action.completed",
|
|
45
|
+
"sequence": 11
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|