@av-pi-studio/protocol 0.0.115 → 0.0.117

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 (70) hide show
  1. package/README.md +3 -3
  2. package/dist/client-capabilities.d.ts +1 -0
  3. package/dist/client-capabilities.js +3 -0
  4. package/dist/messages.d.ts +13384 -0
  5. package/dist/messages.js +164 -1
  6. package/fixtures/external-clients/.signatures.json +559 -0
  7. package/fixtures/external-clients/CHANGELOG.md +18 -0
  8. package/fixtures/external-clients/README.md +94 -0
  9. package/fixtures/external-clients/agent_archived.json +17 -0
  10. package/fixtures/external-clients/agent_deleted.json +16 -0
  11. package/fixtures/external-clients/agent_session_stats_request.json +17 -0
  12. package/fixtures/external-clients/agent_session_stats_response.json +30 -0
  13. package/fixtures/external-clients/agent_status.json +17 -0
  14. package/fixtures/external-clients/agent_stream.assistant_message.json +29 -0
  15. package/fixtures/external-clients/agent_stream.compaction.json +29 -0
  16. package/fixtures/external-clients/agent_stream.error.json +22 -0
  17. package/fixtures/external-clients/agent_stream.reasoning.json +22 -0
  18. package/fixtures/external-clients/agent_stream.tool_call.json +27 -0
  19. package/fixtures/external-clients/agent_stream.tool_call.partial.json +28 -0
  20. package/fixtures/external-clients/agent_stream.turn_canceled.json +22 -0
  21. package/fixtures/external-clients/agent_stream.turn_completed.json +22 -0
  22. package/fixtures/external-clients/agent_stream.turn_failed.json +23 -0
  23. package/fixtures/external-clients/agent_stream.turn_started.json +22 -0
  24. package/fixtures/external-clients/agent_stream.user_message.json +28 -0
  25. package/fixtures/external-clients/agent_timeline_reset.json +17 -0
  26. package/fixtures/external-clients/agent_ui_list_request.json +17 -0
  27. package/fixtures/external-clients/agent_ui_list_response.json +50 -0
  28. package/fixtures/external-clients/agent_ui_request.confirm.json +24 -0
  29. package/fixtures/external-clients/agent_ui_request.editor.json +24 -0
  30. package/fixtures/external-clients/agent_ui_request.input.json +24 -0
  31. package/fixtures/external-clients/agent_ui_request.notify.json +23 -0
  32. package/fixtures/external-clients/agent_ui_request.select.json +24 -0
  33. package/fixtures/external-clients/agent_ui_request.setStatus.json +24 -0
  34. package/fixtures/external-clients/agent_ui_request.setStatus.removed.json +23 -0
  35. package/fixtures/external-clients/agent_ui_resolved.aborted.json +18 -0
  36. package/fixtures/external-clients/agent_ui_resolved.answered.json +18 -0
  37. package/fixtures/external-clients/agent_ui_resolved.cancelled.json +18 -0
  38. package/fixtures/external-clients/agent_ui_resolved.timeout.json +18 -0
  39. package/fixtures/external-clients/agent_ui_respond_request.confirm.json +20 -0
  40. package/fixtures/external-clients/agent_ui_respond_request.select.json +20 -0
  41. package/fixtures/external-clients/agent_ui_respond_response.not_found.json +20 -0
  42. package/fixtures/external-clients/agent_ui_respond_response.ok.json +19 -0
  43. package/fixtures/external-clients/agent_update.json +18 -0
  44. package/fixtures/external-clients/agent_update.model.json +18 -0
  45. package/fixtures/external-clients/daemon_log_lines.json +23 -0
  46. package/fixtures/external-clients/daemon_logs_subscribe_request.json +18 -0
  47. package/fixtures/external-clients/daemon_logs_subscribe_response.json +34 -0
  48. package/fixtures/external-clients/daemon_logs_unsubscribe_request.json +16 -0
  49. package/fixtures/external-clients/daemon_logs_unsubscribe_response.json +19 -0
  50. package/fixtures/external-clients/daemon_status_request.json +16 -0
  51. package/fixtures/external-clients/daemon_status_response.json +60 -0
  52. package/fixtures/external-clients/daemon_status_subscribe_request.json +16 -0
  53. package/fixtures/external-clients/daemon_status_subscribe_response.json +64 -0
  54. package/fixtures/external-clients/daemon_status_unsubscribe_request.json +16 -0
  55. package/fixtures/external-clients/daemon_status_unsubscribe_response.json +19 -0
  56. package/fixtures/external-clients/daemon_status_update.json +58 -0
  57. package/fixtures/external-clients/fetch_agent_timeline_request.json +19 -0
  58. package/fixtures/external-clients/fetch_agent_timeline_response.json +55 -0
  59. package/fixtures/external-clients/health.json +16 -0
  60. package/fixtures/external-clients/hello.json +19 -0
  61. package/fixtures/external-clients/interrupt_agent.json +17 -0
  62. package/fixtures/external-clients/interrupt_response.json +18 -0
  63. package/fixtures/external-clients/list_agents_request.json +16 -0
  64. package/fixtures/external-clients/list_agents_response.json +39 -0
  65. package/fixtures/external-clients/manifest.json +321 -0
  66. package/fixtures/external-clients/ping.json +14 -0
  67. package/fixtures/external-clients/pong.json +16 -0
  68. package/fixtures/external-clients/rpc_error.json +18 -0
  69. package/fixtures/external-clients/status.server_info.json +27 -0
  70. package/package.json +5 -3
@@ -0,0 +1,23 @@
1
+ {
2
+ "type": "agent_ui_request",
3
+ "direction": "server_to_client",
4
+ "description": "Non-dialog notification (expectsResponse false); never answerable.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId", "/message/createdAt"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_request",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "method": "notify",
16
+ "expectsResponse": false,
17
+ "payload": {
18
+ "message": "Done"
19
+ },
20
+ "createdAt": 1767225600000
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "type": "agent_ui_request",
3
+ "direction": "server_to_client",
4
+ "description": "Answerable dialog: pick one option (expectsResponse true).",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId", "/message/createdAt"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_request",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "method": "select",
16
+ "expectsResponse": true,
17
+ "payload": {
18
+ "title": "Pick one",
19
+ "options": ["a", "b"]
20
+ },
21
+ "createdAt": 1767225600000
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "type": "agent_ui_request",
3
+ "direction": "server_to_client",
4
+ "description": "Retained surface update keyed by surfaceKey (expectsResponse false); last value wins.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId", "/message/createdAt"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_request",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "method": "setStatus",
16
+ "expectsResponse": false,
17
+ "payload": {
18
+ "statusText": "building"
19
+ },
20
+ "surfaceKey": "status:build",
21
+ "createdAt": 1767225600000
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "type": "agent_ui_request",
3
+ "direction": "server_to_client",
4
+ "description": "Clears a retained surface (removed: true, empty payload).",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId", "/message/createdAt"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_request",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "method": "setStatus",
16
+ "expectsResponse": false,
17
+ "payload": {},
18
+ "surfaceKey": "status:build",
19
+ "removed": true,
20
+ "createdAt": 1767225600000
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "agent_ui_resolved",
3
+ "direction": "server_to_client",
4
+ "description": "A dialog is no longer answerable (reason aborted).",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_resolved",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "reason": "aborted"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "agent_ui_resolved",
3
+ "direction": "server_to_client",
4
+ "description": "A dialog is no longer answerable (reason answered).",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_resolved",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "reason": "answered"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "agent_ui_resolved",
3
+ "direction": "server_to_client",
4
+ "description": "A dialog was cancelled (reason cancelled). Documented reason; no daemon code path emits it today.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_resolved",
13
+ "requestId": "req-1",
14
+ "agentId": "agent-1",
15
+ "reason": "cancelled"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "agent_ui_resolved",
3
+ "direction": "server_to_client",
4
+ "description": "A dialog is no longer answerable (reason timeout).",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/agentId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_resolved",
13
+ "requestId": "00000000-0000-4000-8000-000000000001",
14
+ "agentId": "00000000-0000-4000-8000-000000000002",
15
+ "reason": "timeout"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "type": "agent_ui_respond_request",
3
+ "direction": "client_to_server",
4
+ "description": "Answer a pending confirm dialog.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/uiRequestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_respond_request",
13
+ "requestId": "req-1",
14
+ "uiRequestId": "ui-req-1",
15
+ "response": {
16
+ "confirmed": true
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "type": "agent_ui_respond_request",
3
+ "direction": "client_to_server",
4
+ "description": "Answer a pending select dialog with the chosen option.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId", "/message/uiRequestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_respond_request",
13
+ "requestId": "req-1",
14
+ "uiRequestId": "ui-req-1",
15
+ "response": {
16
+ "value": "a"
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "type": "agent_ui_respond_response",
3
+ "direction": "server_to_client",
4
+ "description": "The dialog id is unknown or already resolved.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_respond_response",
13
+ "payload": {
14
+ "ok": false,
15
+ "error": "not_found"
16
+ },
17
+ "requestId": "req-1"
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "type": "agent_ui_respond_response",
3
+ "direction": "server_to_client",
4
+ "description": "The answer was accepted.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": "extensionUi",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_ui_respond_response",
13
+ "payload": {
14
+ "ok": true
15
+ },
16
+ "requestId": "req-1"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "agent_update",
3
+ "direction": "server_to_client",
4
+ "description": "Agent status/label/title change broadcast. A family of partial updates: only changed fields are present.",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": null,
8
+ "volatile": ["/message/agentId", "/message/status"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_update",
13
+ "agentId": "00000000-0000-4000-8000-000000000001",
14
+ "status": "initializing",
15
+ "labels": {}
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "agent_update",
3
+ "direction": "server_to_client",
4
+ "description": "Model change broadcast (emitted beyond the Zod schema: model, modelProvider, optional thinkingLevel).",
5
+ "since": "0.0.115",
6
+ "stage": 1,
7
+ "requiresFeature": null,
8
+ "volatile": ["/message/agentId", "/message/model", "/message/modelProvider"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "agent_update",
13
+ "agentId": "00000000-0000-4000-8000-000000000001",
14
+ "model": "mock-2",
15
+ "modelProvider": "mock"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "type": "daemon_log_lines",
3
+ "direction": "server_to_client",
4
+ "description": "Flat log push to subscribed sessions only, flushed within ~100 ms; dropped is incremental; carries no requestId.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/lines/0/time", "/message/lines/0/level", "/message/lines/0/msg"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_log_lines",
13
+ "lines": [
14
+ {
15
+ "time": 1767225600000,
16
+ "level": "info",
17
+ "msg": "external fixture log line"
18
+ }
19
+ ],
20
+ "dropped": 0
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "daemon_logs_subscribe_request",
3
+ "direction": "client_to_server",
4
+ "description": "Subscribe this session to the daemon log tail at minLevel or above; tail asks for a backlog of up to that many newest lines.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_logs_subscribe_request",
13
+ "requestId": "req-1",
14
+ "minLevel": "info",
15
+ "tail": 1
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "type": "daemon_logs_subscribe_response",
3
+ "direction": "server_to_client",
4
+ "description": "Subscription accepted: the level in force and the requested backlog (one representative line); dropped counts lines the rate cap discarded.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": [
9
+ "/message/requestId",
10
+ "/message/payload/lines/0/time",
11
+ "/message/payload/lines/0/level",
12
+ "/message/payload/lines/0/msg"
13
+ ],
14
+ "frame": {
15
+ "type": "session",
16
+ "message": {
17
+ "type": "daemon_logs_subscribe_response",
18
+ "payload": {
19
+ "ok": true,
20
+ "minLevel": "info",
21
+ "effectiveLevel": "info",
22
+ "lines": [
23
+ {
24
+ "time": 1767225600000,
25
+ "level": "info",
26
+ "msg": "external fixture log line"
27
+ }
28
+ ],
29
+ "dropped": 0
30
+ },
31
+ "requestId": "req-1"
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "daemon_logs_unsubscribe_request",
3
+ "direction": "client_to_server",
4
+ "description": "Stop the log push for this session.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_logs_unsubscribe_request",
13
+ "requestId": "req-1"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "type": "daemon_logs_unsubscribe_response",
3
+ "direction": "server_to_client",
4
+ "description": "Log subscription removed.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_logs_unsubscribe_response",
13
+ "payload": {
14
+ "ok": true
15
+ },
16
+ "requestId": "req-1"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "daemon_status_request",
3
+ "direction": "client_to_server",
4
+ "description": "One-shot daemon status snapshot request (read-only, authenticated sessions only).",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_status_request",
13
+ "requestId": "req-1"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "type": "daemon_status_response",
3
+ "direction": "server_to_client",
4
+ "description": "Process/version/memory/CPU/agent-count/connected-client snapshot (the clients array holds one representative element).",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": [
9
+ "/message/requestId",
10
+ "/message/payload/version",
11
+ "/message/payload/startedAt",
12
+ "/message/payload/uptimeMs",
13
+ "/message/payload/pid",
14
+ "/message/payload/nodeVersion",
15
+ "/message/payload/memory/rss",
16
+ "/message/payload/memory/heapUsed",
17
+ "/message/payload/memory/heapTotal",
18
+ "/message/payload/cpuPercent",
19
+ "/message/payload/eventLoopLagMs",
20
+ "/message/payload/agentsByStatus/idle",
21
+ "/message/payload/clients/0/clientId",
22
+ "/message/payload/clients/0/appVersion",
23
+ "/message/payload/clients/0/connectedAt",
24
+ "/message/payload/clients/0/remoteAddress"
25
+ ],
26
+ "frame": {
27
+ "type": "session",
28
+ "message": {
29
+ "type": "daemon_status_response",
30
+ "payload": {
31
+ "version": "0.0.115",
32
+ "startedAt": 1767225600000,
33
+ "uptimeMs": 7520.5,
34
+ "pid": 4242,
35
+ "nodeVersion": "v24.0.0",
36
+ "memory": {
37
+ "rss": 172122112,
38
+ "heapUsed": 65642672,
39
+ "heapTotal": 115298304
40
+ },
41
+ "cpuPercent": 1.5,
42
+ "eventLoopLagMs": 0.5,
43
+ "agentsByStatus": {
44
+ "idle": 2
45
+ },
46
+ "clients": [
47
+ {
48
+ "clientId": "client-1",
49
+ "clientType": "cli",
50
+ "appVersion": "pistudiodashboard/0.1.0",
51
+ "connectedAt": 1767225600000,
52
+ "remoteAddress": "127.0.0.1",
53
+ "transport": "direct"
54
+ }
55
+ ]
56
+ },
57
+ "requestId": "req-1"
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "daemon_status_subscribe_request",
3
+ "direction": "client_to_server",
4
+ "description": "Subscribe this session to a status push every intervalMs.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_status_subscribe_request",
13
+ "requestId": "req-1"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "type": "daemon_status_subscribe_response",
3
+ "direction": "server_to_client",
4
+ "description": "Subscription accepted; carries the push interval and an immediate snapshot.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": [
9
+ "/message/requestId",
10
+ "/message/payload/status/version",
11
+ "/message/payload/status/startedAt",
12
+ "/message/payload/status/uptimeMs",
13
+ "/message/payload/status/pid",
14
+ "/message/payload/status/nodeVersion",
15
+ "/message/payload/status/memory/rss",
16
+ "/message/payload/status/memory/heapUsed",
17
+ "/message/payload/status/memory/heapTotal",
18
+ "/message/payload/status/cpuPercent",
19
+ "/message/payload/status/eventLoopLagMs",
20
+ "/message/payload/status/agentsByStatus/idle",
21
+ "/message/payload/status/clients/0/clientId",
22
+ "/message/payload/status/clients/0/appVersion",
23
+ "/message/payload/status/clients/0/connectedAt",
24
+ "/message/payload/status/clients/0/remoteAddress"
25
+ ],
26
+ "frame": {
27
+ "type": "session",
28
+ "message": {
29
+ "type": "daemon_status_subscribe_response",
30
+ "payload": {
31
+ "ok": true,
32
+ "intervalMs": 5000,
33
+ "status": {
34
+ "version": "0.0.115",
35
+ "startedAt": 1767225600000,
36
+ "uptimeMs": 7520.5,
37
+ "pid": 4242,
38
+ "nodeVersion": "v24.0.0",
39
+ "memory": {
40
+ "rss": 172122112,
41
+ "heapUsed": 65642672,
42
+ "heapTotal": 115298304
43
+ },
44
+ "cpuPercent": 1.5,
45
+ "eventLoopLagMs": 0.5,
46
+ "agentsByStatus": {
47
+ "idle": 2
48
+ },
49
+ "clients": [
50
+ {
51
+ "clientId": "client-1",
52
+ "clientType": "cli",
53
+ "appVersion": "pistudiodashboard/0.1.0",
54
+ "connectedAt": 1767225600000,
55
+ "remoteAddress": "127.0.0.1",
56
+ "transport": "direct"
57
+ }
58
+ ]
59
+ }
60
+ },
61
+ "requestId": "req-1"
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "daemon_status_unsubscribe_request",
3
+ "direction": "client_to_server",
4
+ "description": "Stop the status push for this session.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_status_unsubscribe_request",
13
+ "requestId": "req-1"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "type": "daemon_status_unsubscribe_response",
3
+ "direction": "server_to_client",
4
+ "description": "Status subscription removed.",
5
+ "since": "0.0.115",
6
+ "stage": 2,
7
+ "requiresFeature": "daemonObservability",
8
+ "volatile": ["/message/requestId"],
9
+ "frame": {
10
+ "type": "session",
11
+ "message": {
12
+ "type": "daemon_status_unsubscribe_response",
13
+ "payload": {
14
+ "ok": true
15
+ },
16
+ "requestId": "req-1"
17
+ }
18
+ }
19
+ }