AgentTimelineListResult agent.timeline-list-result@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- actor
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/agent/timeline-list-result.v1.json
The person's agent timeline (design 2026-11-07 §1): what the agent is doing now, what needs them, and the entries themselves, newest first. The Dock's filters live in the query (cursor, mode, needs_you); counts say how many entries a hidden filter would show, so a filter never hides without a count.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
now | one of | yes | The step the agent is doing this moment, if any. | |
needs_you | agent.timeline-entry | yes | Every approval or question from any mode, oldest first. |
|
entries | agent.timeline-entry | yes |
| |
next_cursor | string | null | yes | The cursor of the next page, or null at the end. |
|
counts | object | yes | How many entries each mode has (and "needs_you"), so the Dock can show what a filter would hide. |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: list
{
"now": null,
"needs_you": [],
"entries": [
{
"id": "tl_01JAB2C3D4E5F6G7H8J9K0MNPS",
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPS",
"mode": "code",
"product": "codes",
"ref": "tsk_01JAB2C3D4E5F6G7H8J9K0MNPS",
"title": "Running the checkout tests",
"started_at": "2026-11-07T09:00:00.000Z",
"ended_at": "2026-11-07T09:04:00.000Z",
"status": "done",
"placement": {
"where": "On your desktop",
"why": "it needs your files and your Claude sign-in, and it is free"
},
"cost_usd": 0.42,
"link": "https://codes.openvibe.network/tasks/tsk_01JAB2C3D4E5F6G7H8J9K0MNPS",
"reason": null,
"transition": null,
"approval": null,
"audience": "private",
"shared": false
}
],
"next_cursor": "tl_01JAB2C3D4E5F6G7H8J9K0MNPS",
"counts": {
"code": 1,
"act": 0,
"needs_you": 0
}
}Rejected: entry-with-prompt
{
"now": null,
"needs_you": [],
"entries": [
{
"id": "tl_01JAB2C3D4E5F6G7H8J9K0MNPS",
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPS",
"mode": "code",
"product": "codes",
"ref": "tsk_01JAB2C3D4E5F6G7H8J9K0MNPS",
"title": "Running the checkout tests",
"started_at": "2026-11-07T09:00:00.000Z",
"ended_at": "2026-11-07T09:04:00.000Z",
"status": "done",
"placement": {
"where": "On your desktop",
"why": "it needs your files and your Claude sign-in, and it is free"
},
"cost_usd": 0.42,
"link": "https://codes.openvibe.network/tasks/tsk_01JAB2C3D4E5F6G7H8J9K0MNPS",
"reason": null,
"transition": null,
"approval": null,
"audience": "private",
"shared": false,
"diff": "@@ -1 +1 @@"
}
],
"next_cursor": null,
"counts": {}
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('agent.timeline-list-result@1', value); // { valid, errors: [{ path, message }] }