NetworkDockResult network.dock-result@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- network
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/network/dock-result.v1.json
network.dock-result@1 (the Dock plan 2026-10-30, K-D1): what GET /api/v1/me/dock answers on OpenVibe.Network — the person's Dock state, the counts the pill's status dot is drawn from, and whether those counts are complete.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
state | network.dock-state | yes | The person's Dock state: the stored one, or the default when they have never opened the Dock. | |
counts | object | yes |
| |
counts.running | integer | yes | How many of the person's agents are running. |
|
counts.waiting | integer | yes | How many need the person. |
|
counts.unread | integer | yes | How many notifications the person has not read. |
|
sources_partial | boolean | yes | True when an authority behind the counts did not answer, so the counts are lower than the truth. |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: default
{
"state": {
"open": false,
"tab": "activity",
"pinned": false,
"agent": null,
"chat": null,
"place": {
"phone": {
"corner": "bottom-right"
},
"desktop": {
"corner": "bottom-right",
"width": null,
"height": null
}
},
"updated_at": "2026-10-30T12:00:00Z"
},
"counts": {
"running": 0,
"waiting": 0,
"unread": 0
},
"sources_partial": false
}Rejected: extra-key
{
"state": {
"open": false,
"tab": "activity",
"pinned": false,
"agent": null,
"chat": null,
"place": {
"phone": {
"corner": "bottom-right"
},
"desktop": {
"corner": "bottom-right",
"width": null,
"height": null
}
},
"updated_at": "2026-10-30T12:00:00Z"
},
"counts": {
"running": 0,
"waiting": 0,
"unread": 0
},
"sources_partial": false,
"sources": {
"actor": "ok"
}
}Rejected: negative-count
{
"state": {
"open": true,
"tab": "agent",
"pinned": true,
"agent": {
"service": "codes",
"id": "tsk_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"chat": null,
"place": {
"phone": {
"corner": "bottom-left"
},
"desktop": {
"corner": "bottom-left",
"width": 480,
"height": 720
}
},
"updated_at": "2026-10-30T12:00:00Z"
},
"counts": {
"running": -1,
"waiting": 0,
"unread": 3
},
"sources_partial": false
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('network.dock-result@1', value); // { valid, errors: [{ path, message }] }